PDA

View Full Version : htaccess



tehro0n
چهارشنبه 15 شهریور 1391, 01:32 صبح
سلام،
من با htaccess می خوام آدرس صفحه رو با اون چیزی که می بینیم تغییر بدم
از کد زیر استفاده می کنم


RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !\.(css|gif|ico|jpg|js|png|php)$
RewriteRule ^(.*)/(.*)$ index.php?$1=$2 [L,QSA]

قرار بود با این کد آدرس url/blogfa.com به index.php?url=blogfa.com برای خوندن تبدیل بشه و تمام محتویات عکس و فایل های css به همان پوشه انتقال داده بشه
خوب این درست کار می کنه! اما..
وقتی ما آدرسی شبیه روبه رو داشته باشیم
url/blogfa.com/profile دیگه عکس ها و فایل های مربوط به پوشه را نمی خونه و فکر می کنه در پوشه profile هست..

tehro0n
پنج شنبه 16 شهریور 1391, 05:05 صبح
:متفکر::متفکر:

saman.khademi
پنج شنبه 16 شهریور 1391, 10:12 صبح
منم اين مشكل رو دارم ولي كسي جواب نميده مثل اينكه

saman.khademi
پنج شنبه 16 شهریور 1391, 10:24 صبح
خب يافتم يافتم درستش كردم
توي لوكال هاست از اين تگ توي تگ head


<base href="//localhost/mywebsite" />
و بيرون روي live اين تگ رو توي تگ head اضافه كنيد


<base href="//your.domain.here" />

saman.khademi
پنج شنبه 16 شهریور 1391, 10:25 صبح
منبع از

http://www.w3.org/TR/html4/struct/links.html#h-12.4

tehro0n
پنج شنبه 16 شهریور 1391, 16:01 عصر
با این روش فایل هام درست میشه ولی اگه آدرس با htaccess خوانده بشه نمی تونه متغیر url را باز بخونه

RewriteRule ^(.*)/(.*)$ index.php?$1=$2 [L,QSA]


اگه زمانی طرف بیاد یک چنین لینکی بده url/blogfa.com/profile متغیر url نمیتونه blogfa.com/profile رو بگیره، فکر کنم چون (.*)$ تا .com رو می خونه! گرچه url خالی نمایش می ده

tehro0n
یک شنبه 19 شهریور 1391, 19:38 عصر
:متفکر::متفکر:

azowghi
یک شنبه 19 شهریور 1391, 21:18 عصر
سلام
از این سایت استفاده کنید خیلی خوبه
بصورت آنلاین بهتون فایل htaccess میده


http://www.webconfs.com/url-rewriting-tool.php

التماس دعا

tehro0n
دوشنبه 20 شهریور 1391, 16:52 عصر
ولی این سایت هم چیزی که من خواستم رو انجام نمیده
آن چیزی که مد نظر منه اینه که
url/blogfa.com/profile
رو به
index.php?url=blogfa.com/profile
تبدیل بکنه

البته یک برداشتی کردم کارمو داره راه می اندازه ولی نمی دونم اصولی هست یا نه، اگه نظر بهتری دارید بگذارید


Options +FollowSymLinks
RewriteEngine on
RewriteRule url/(.*) index.php?url=$1
RewriteRule url/(.*)/(.*) index.php?url=$1/$2
RewriteRule url/(.*)/(.*)/(.*) index.php?url=$1/$2/$3
RewriteRule url/(.*)/(.*)/(.*)/(.*) index.php?url=$1/$2/$3/$4
RewriteRule url/(.*)/(.*)/(.*)/(.*)/(.*) index.php?url=$1/$2/$3/$4/$5

تا 5 صفحه جلو رفتم چون آدرس سایت رو کاربر می ده و نمی دونم چه صفحه ای هست شاید هم بیشتر از 5 بده!

رضا قربانی
دوشنبه 20 شهریور 1391, 17:21 عصر
url/blogfa.com/profile دیگه عکس ها و فایل های مربوط به پوشه را نمی خونه و فکر می کنه در پوشه profile هست.. این یعنی کدی که استفاده می کنی بهینه نیست و اشتباهه.
حالا اینو تست کنید



RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !\.(css|gif|ico|jpg|js|png|php)$

RewriteRule ^([^/]*)/([^/]*)$ index.php?$1=$2 [L]
یا
RewriteRule ^([^/]*)/([^/]*)\$ index.php?$1=$2 [L]
یا
RewriteRule ^([^/]*)/([^/]*)/?\$ index.php?$1=$2 [L]
یا
... باید سیخ بدی دیگه


اگر جواب نداد من پست بالا رو تایید می کنم.

tehro0n
دوشنبه 20 شهریور 1391, 18:54 عصر
این یعنی کدی که استفاده می کنی بهینه نیست و اشتباهه.
حالا اینو تست کنید



RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !\.(css|gif|ico|jpg|js|png|php)$

RewriteRule ^([^/]*)/([^/]*)$ index.php?$1=$2 [L]
یا
RewriteRule ^([^/]*)/([^/]*)\$ index.php?$1=$2 [L]
یا
RewriteRule ^([^/]*)/([^/]*)/?\$ index.php?$1=$2 [L]
یا
... باید سیخ بدی دیگه


اگر جواب نداد من پست بالا رو تایید می کنم.

هر سه مورد کار نکرد، آقایی که از آملی و من الان هلومسر!
پس کار بی منطق من تایید شد؟

رضا قربانی
دوشنبه 20 شهریور 1391, 23:24 عصر
پس کار بی منطق من تایید شد؟ به نظر منم درستش همونی که خودت نوشتی . چون آدرس های شما شاید به چندین شاخه ختم بشه . این ریرایت بیچاره از کجا باید متوجه بشه. یکی رو بقیه چطور . باید برای هر آدرس تخمینی یک ریرایت بنویسید.

موفق باشید

tehro0n
پنج شنبه 06 مهر 1391, 11:31 صبح
پس راه حل دیگری نیست ؟ تایید شد!