Я должен сделать свой URL дружественным.
У меня есть это в моем .htaccess
файл:
RewriteRule http://localhost/test/client/this_is_test_page.php$ http://localhost/test/test-page [NC,R=301,L]
но теперь я получаю HTTP 500 внутреннюю ошибку сервера.
Что может быть причиной этого, и как я могу это исправить?
Вы не должны иметь HTTP_HOST в своем шаблоне в соответствии с документацией apache:
RewriteRule состоит из трех аргументов, разделенных пробелами.
Аргументы:
- Шаблон: на какие входящие URL должно влиять правило;
- Замена: куда должны быть отправлены соответствующие запросы;
- [флаги]: параметры, влияющие на переписанный запрос.
Шаблон — это регулярное выражение. Это изначально (для первого
переписать правило или пока не произойдет подстановка) сопоставляется с
URL-путь входящего запроса (часть после имени хоста но
перед любым знаком вопроса, указывающим на начало строки запроса)
Ваше правило должно быть примерно таким:
RewriteRule /test/client/this_is_test_page.php$ /test/test-page [NC,R=301,L]
И вы должны иметь mod_rewrite
включен, RewriteEngine On
а также AllowOverride
,
Других решений пока нет …