2013-08-08 3 views
0

У меня есть URL, как этотДружественные URL с mod_rewrite

http://localhost/rilo/listing.php?id=2 

где "Rilo" является корнем, и я хотел бы получить дружественный URL, как

http_//localhost/rilo/listing/2.html 

И вот Htaccess

Options +FollowSymLinks -MultiViews 

# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase /rilo 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^/?listing/([a-zA-Z_]+).html$ listing.php?id=$1 [QSA,L] 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*)/index\.php [NC] 
RewriteRule^/%1 [R=301,L] 

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] 
RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 

Вы можете мне помочь? Где ошибка?

+0

Вы не сказали нам, что именно вы хотите, чтобы произошло /, что на самом деле происходит. –

+0

Извините, Оливер, я отредактировал мой запрос –

ответ

1

Заменить код с этим:

Options +FollowSymLinks -MultiViews 

# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase /rilo 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^/?listing/([^.]+)\.html$ listing.php?id=$1 [QSA,L,NC] 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*)/index\.php [NC] 
RewriteRule^%1 [R=301,L] 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+[^/]+/(listing)\.php\?id=([^&\s]+) [NC] 
RewriteRule^%1/%2.html? [R=301,L] 

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] 
RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 
+0

, перенаправление работает хорошо, но есть ошибка 404 –

+0

, какой URL-адрес вызывает 404? Попробуйте отредактировать код. – anubhava

+0

Отличный мужчина! Он работает хорошо, действительно спасибо! –

Смежные вопросы