#apache #.htaccess #mod-rewrite
#apache #.htaccess #мод-перезапись
Вопрос:
Как удалить index.php с URL домашней страницы
example.com/index.php
Для
example.com
и
example.com/directory/index.php
Для
example.com/directory
Я прочитал много сообщений о stackoverflow, и когда я использую эти коды, тогда, если я перейду к недопустимому URL-адресу (например — example.com/ahjgbhjkllghfd ) тогда он не будет показывать 404 ответа. он показывает ответ 200 и содержимое главной страницы на недопустимом URL.
{ извините за плохой английский :)}
Комментарии:
1. Не могли бы вы сообщить мне, помогло ли это вам в разделе комментариев моего ответа?
Ответ №1:
Если вам нужен ответ об ошибке 404, попробуйте добавить строку ErrorDocument
ErrorDocument 404 /error.php
/error.php
При доступе к файлу он будет отображаться /ahjgbhjkllghfd
.
Все вместе может быть так
RewriteEngine on
RewriteRule ^(.*?)index.php$ /$1 [R=301,NC]
ErrorDocument 404 /error.php
Ответ №2:
Не могли бы вы попробовать следующее, написали на мобильном телефоне, не смогли проверить, должно ли это сработать, я полагаю.
RewriteEngine ON
RewriteRule ^(.*/?)index.php/?$ /$1 [R=301,NC,L]
Комментарии:
1. Вы можете удалить
RewriteCond
, так как не будет каталога с именемindex.php