PDA

View Full Version : مشکل was not found on this server بعد از اعمال تنظمات htaccess در wamp



c0mmander
یک شنبه 04 مرداد 1394, 12:59 عصر
سلام
به یک مشکلی بر خورد کردم برای rewite کردن url داخل wamp از کد زیر استفاده کردم:



Options -Indexes -MultiViews +FollowSymlinks
RewriteEngine On
RewriteBase /

#category id
RewriteCond %{THE_REQUEST} /myWeblog/category\.php\?cid=([^\s&]+) [NC]
RewriteRule ^ myWeblog/category/%1? [R=302,L]
RewriteRule ^myWeblog/category/([^/.]+)/?$ myWeblog/category.php?cid=$1 [L,QSA,NC]


#------------------ remove index.php ---------------------------------
RewriteCond %{THE_REQUEST} /(?:index)?(.*?)\.php[\s?] [NC]
RewriteRule ^ %1 [R=302,L,NE]

# remove /index
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(.*)index($|\ |\?)
RewriteRule ^ /%1 [R,L]


#-------------------remove .php-----------------------------------------
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI}\.php -f [NC]
RewriteRule ^(.+?)/?$ $1.php [L]


خوب همون خودتون می بینید .php و index و category تغییر میکنه یعنی:


http://localhost/myWeblog/category.php?cid=2
به
http://localhost/myWeblog/category/2

اما مشکل اینجاست که با اینکه rewrite در ادرس بار به درستی نمایش داده میشه اما ارور 404 دارم.

پ.ن: برای rewirte فقط میخوام از htaccess استفاده کنم و نمیخوام از php هم با htaccess استفاده کنم.
پ.ن: تمام ماژول mod_rewrite داخل wamp فعاله.

abolfazl-z
یک شنبه 04 مرداد 1394, 23:26 عصر
شما دارین بر عکس عمل می کنید !

کد زیر را نگاه کنید :


RewriteRule ^/myWeblog/category/([0-9]+)$ /myWeblog/category.php?cid=$1 [L,QSA]

اگر دقت کنید فکر کنم اشتباه کارتون را می فهمید.

c0mmander
چهارشنبه 07 مرداد 1394, 21:26 عصر
شما دارین بر عکس عمل می کنید !

کد زیر را نگاه کنید :


RewriteRule ^/myWeblog/category/([0-9]+)$ /myWeblog/category.php?cid=$1 [L,QSA]

اگر دقت کنید فکر کنم اشتباه کارتون را می فهمید.

یک جاهای دیگه سایته از مشکل به بر خورد که نتونستم این مشکل رو بررسی کنم..

خوب تا اونجایی که من از منظورتون متوجه شدم من برعکس دارم کار می کنم در حقیقت باید ادرس های سایت من بصورت http://localhost/myWeblog/category/2 باشه بعدا به category.php?cid=$1 ارسال بشه.

من چون آدرس های داخل سایت رو بصورت مثلا: index.php?id=1 ذخیره کردم دیگه گفتم یک کدی باشه که اگر کاربر index.php?id=1 داخل مرورگر زد اول تبدیل به index/id/1بشه و بعد به index.php?id=1 ارسال بشه.

صبر کن یک بار دیگه با کد شما تست کنم ببنم چی میشه...

c0mmander
چهارشنبه 07 مرداد 1394, 21:52 عصر
اقا مشکلش حل شد پیدا نکردن حل شد الان یک مشکل دیگه هست اونم اینکه فایل های اسکریپ رو درست ادرس دهی نمیکنه از این کد ها هم استفاده کردم:


RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f


اما انگار نه انگار صفحه بدون هیچ استایل و اسکریپ خارجی باز میشه؟ مشکل چیه؟

c0mmander
چهارشنبه 07 مرداد 1394, 22:08 عصر
مشکل حل شد داخل تمام صفحه ها داخل قسمت head باید ادرس ریشه رو قرار داد. باتشکر از تمامی دوستان.