Указание веб-сервера для загрузки .html-страницы, а не индекса подкаталога - PullRequest
0 голосов
/ 20 февраля 2019

Итак, я искал несколько часов и не нашел ответа на свою проблему.

Итак, у меня есть веб-сайт, на котором я хотел снять расширение страницы, например .html / .phpи т. д., и я обнаружил, что могу включить приведенный ниже код в файл .htaccess.

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html

Я сейчас добавил этот код, и он отлично работает для удаления .html с моих страниц.Однако теперь я столкнулся с новой проблемой.У меня есть страница и каталог, оба с именем 'guides' в корне моей папки public_html.Теперь, когда я ввожу URL «www.mydomain.com/guides», отображается индекс каталога направляющих, а не страница guides.html, которую я хочу отобразить.

Мне интересно, что будетлучший способ обойти это и заставить мой сервер сначала искать веб-страницу, а не отображать индекс каталога guides.

Я смотрю на RewriteRule, но, похоже, все содержимое WordPress и не работает с моимСайт WordPress.

Любая помощь будет оценена, спасибо.

1 Ответ

0 голосов
/ 20 февраля 2019

Лучшее решение - изменить имя каталога или файла на другое.RewriteRule не может переписать запрос каталога в файл, так как запрос каталога сначала обрабатывается mod-dir (модуль каталога).

Если вы не хотите изменять имя, вы можете отключить DirectorySlashваш сервер использует следующую строку в htaccess:

 DirectorySlash off

https://httpd.apache.org/docs/2.4/mod/mod_dir.html#directoryslash

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...