Допустим, мой веб-сайт www.example.com и у меня есть страница contact.html в корне. URL-адрес, обычно отображаемый в адресной строке: http://example.com/contact.html а>сильный>
Для моего сайта я хочу, чтобы URL-адрес имел:
- no www
- no .html
- a trailing slash
Таким образом, окончательный результат должен выглядеть следующим образом: http://example.com/contact/< /сильный>
Условие № 1 по умолчанию, так что меня это не беспокоит.
Для условия 2 (без «.html») у меня есть следующий код в моем файле .htaccess в корневом каталоге:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]
...и работает отлично.
Теперь перейдем к условию 3 (применение завершающей косой черты). У меня есть следующий код в файле .htaccess перед командами перезаписи «Условия 2»:
RewriteEngine On
RewriteCond %{REQUEST_URI} !(/$|\.)
RewriteRule (.*) %{REQUEST_URI}/ [R=301,L]
...это не работает; Страница перенаправляется на страницу с ошибкой 404, а в адресной строке отображается: http://example.com/404.html... ДА, с косой чертой в конце:/
Что я делаю не так?
У меня есть папка с именем archives, в корневом каталоге которой я хочу выполнить индексацию. Поэтому я просто добавил файл .htaccess в папку «архивы» и добавил следующий простой код:
Options +Indexing
Но это не работает; Меня перенаправляют на страницу ошибки 403! Я на 99% уверен, что это связано с файлом .htaccess в корневом каталоге.
.htaccess
и странный, я автоматически ищуRewriteRule
в теле вопроса. И вот, я всегда нахожу его. В вашем вопросе, к сожалению, не повезло, что он также содержит термин «скопировано», что действительно обескураживает меня, чтобы дать ответ. Я сожалею об отсутствии мотивации с моей стороны! Возможно, эта страница поможет вам в дальнейшем: httpd.apache.org/docs/2.2/rewrite а> - person Boldewyn   schedule 04.11.2016.htaccess
в корне страницы вызывает эту проблему. - person Boldewyn   schedule 04.11.2016.htaccess
в корне не берет на себя безоговорочно запросы на отсутствующие файлы (часть!-f
). Например, добавьте что-то вродеRewriteCond %{REQUEST_URI} !/archives/.*
или подобное. - person Boldewyn   schedule 04.11.2016