Я пытаюсь сделать URL-адрес моего сайта более доступным для чтения, но у меня проблемы с этим..htaccess перенаправить дружественный URL-адрес с параметрами
Ее являются образцы URL она выглядит сейчас:
http://example.com/
http://example.com/index.php
http://example.com/index.php?page=home
http://example.com/index.php?page=profile&uid=483ec3a0-7e0f-32e6-f357-ac9311204246
Они должны выглядеть следующим образом:
http://example.com/
http://example.com/home/
http://example.com/profile/483ec3a0-7e0f-32e6-f357-ac9311204246/
Вот содержание моего файла .htaccess:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase/
# external redirect from /view.php?id=1 to /view/id/1
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+index\.php\?page=([^\s&]+)&uid=([^\s&]+) [NC]
RewriteRule^/%1/%2/? [L,R=301]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+index\.php\?page=([^\s&]+) [NC]
RewriteRule^/%1/? [L,R=301]
# internal forward from /view/id/1 to /view.php?id=1
RewriteRule ^([^/]+)/([^/]+)/?$ /index.php?page=$1&uid=$2 [L,QSA]
RewriteRule ^([^/]+)/?$ /index.php?page=$1 [L,QSA]
Он переписывает правильный URL-адрес, такой как http://example.com/index.php?page=profile&uid=483ec3a0-7e0f-32e6-f357-ac9311204246
->http://example.com/profile/483ec3a0-7e0f-32e6-f357-ac9311204246/
, но я получаю каждый раз ошибку 404. Если я попытаюсь позвонить http://example.com/
или http://example.com/home/
, я получаю 500 ошибок.
В чем моя проблема?
ОК, спасибо. Я не получаю 500 ошибок, но я все еще получаю ошибки 404. –
@ JohannLöwen Если вы закомментируете первые три правила переадресации, переходите ли вы к 'http: //example.com/index.php? Page = profile & uid = 483ec3a0-7e0f-32e6-f357-ac9311204246', даете ли вы 404? –
Да, если я прокомментирую первые три правила, значит, он отлично работает. –