htaccess-файл, чтобы привести в порядок URL-адреса, вызывает 500 ошибок сервера, если в URL добавляется завершающий слеш
Привет, пожалуйста, кто-нибудь может помочь,
Я написал файл htaccess, чтобы привести в порядок мои URL-адреса и удалить.php. Кажется, все работает хорошо, но если на URL-адрес теперь добавляется завершающий слеш, файл.php исчезает, я получаю ошибку 500-сервера. Что я действительно хочу, чтобы это произошло, если добавить косую черту, то она обрабатывается плавно и перенаправляется на опцию без косой черты. Кажется, это работает на домашней странице, но не на любой другой странице.
Мой сайт www.bekcruddace.co.uk и файл htaccess:
RewriteEngine on
#Redirects example.com to www.example.com
RewriteCond %{HTTP_HOST} ^bekcruddace.co.uk$
RewriteRule ^/?$ "http\:\/\/www\.bekcruddace\.co\.uk\/" [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
Пожалуйста, кто-нибудь может предложить какие-либо указатели?
Следует также отметить, что разделы новостей - это отдельный плагин, который работает независимо, поэтому URL-адрес немного отличается и не имеет отношения к моему вопросу.
Спасибо.
1 ответ
Если вы запрашиваете / файл / ваше правило переписывает его в неверное местоположение /file/.php. Вот почему ваш сервер выдает ошибку 500.
Вы должны сделать наклонную черту необязательной в своем шаблоне, чтобы косая черта была исключена из группы захвата:
RewriteRule ^(.*)/?$ $1.php