View Full Version : htaccess
tehro0n
چهارشنبه 15 شهریور 1391, 02: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, 06:05 صبح
:متفکر::متفکر:
saman.khademi
پنج شنبه 16 شهریور 1391, 11:12 صبح
منم اين مشكل رو دارم ولي كسي جواب نميده مثل اينكه
saman.khademi
پنج شنبه 16 شهریور 1391, 11:24 صبح
خب يافتم يافتم درستش كردم
توي لوكال هاست از اين تگ توي تگ head
<base href="//localhost/mywebsite" />
و بيرون روي live اين تگ رو توي تگ head اضافه كنيد
<base href="//your.domain.here" />
saman.khademi
پنج شنبه 16 شهریور 1391, 11:25 صبح
منبع از
http://www.w3.org/TR/html4/struct/links.html#h-12.4
tehro0n
پنج شنبه 16 شهریور 1391, 17:01 عصر
با این روش فایل هام درست میشه ولی اگه آدرس با htaccess خوانده بشه نمی تونه متغیر url را باز بخونه
RewriteRule ^(.*)/(.*)$ index.php?$1=$2 [L,QSA]
اگه زمانی طرف بیاد یک چنین لینکی بده url/blogfa.com/profile متغیر url نمیتونه blogfa.com/profile رو بگیره، فکر کنم چون (.*)$ تا .com رو می خونه! گرچه url خالی نمایش می ده
tehro0n
یک شنبه 19 شهریور 1391, 20:38 عصر
:متفکر::متفکر:
azowghi
یک شنبه 19 شهریور 1391, 22:18 عصر
سلام
از این سایت استفاده کنید خیلی خوبه
بصورت آنلاین بهتون فایل htaccess میده
http://www.webconfs.com/url-rewriting-tool.php
التماس دعا
tehro0n
دوشنبه 20 شهریور 1391, 17: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, 18: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, 19: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]
یا
... باید سیخ بدی دیگه
اگر جواب نداد من پست بالا رو تایید می کنم.
هر سه مورد کار نکرد، آقایی که از آملی و من الان هلومسر!
پس کار بی منطق من تایید شد؟
رضا قربانی
سه شنبه 21 شهریور 1391, 00:24 صبح
پس کار بی منطق من تایید شد؟ به نظر منم درستش همونی که خودت نوشتی . چون آدرس های شما شاید به چندین شاخه ختم بشه . این ریرایت بیچاره از کجا باید متوجه بشه. یکی رو بقیه چطور . باید برای هر آدرس تخمینی یک ریرایت بنویسید.
موفق باشید
tehro0n
پنج شنبه 06 مهر 1391, 12:31 عصر
پس راه حل دیگری نیست ؟ تایید شد!
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.