htaccess: добавить косую черту только в конкретном случае - PullRequest
0 голосов
/ 17 января 2019

быстрый вопрос относительно моего файла .htaccess

Я хочу переслать https://myurl.com/en на https://myurl.com/en/ с косой чертой.

Пока это моя попытка.

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.en[^/])$ /$1/ [L,R=301]

Что я здесь не так делаю? Спасибо за вашу помощь?

Ответы [ 2 ]

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

Вы всегда можете активировать DirectorySlash для определенного местоположения:

<Location "/en">
  DirectorySlash On
  FallbackResource /index.php
</Location>

Я не тратил столько времени на эту проблему, но вы хотите прочитать предупреждение об этом по ссылке выше. Или вы можете использовать альтернативное решение:

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/en$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]

Если проблемы с относительными URL-адресами для изображений и т. Д., Попробуйте добавить в заголовок страницы следующее:

<head>
 <base href="/" />
<head>

Перезапустите apache, чтобы изменения вступили в силу. Если используется WordPress, обратите внимание на порядок выполнения. Все правила перенаправления должны быть расположены до правил маршрутизации. Правила WordPress направляют все в index.php.

0 голосов
/ 19 января 2019

Чтобы все URL имели косую черту.

Приведенное ниже правило переадресует https://myurl.com/en на https://myurl.com/en/ с косой чертой в конце.

https://myurl.com/en до https://myurl.com/en/

Настройка конечной косой черты для всех ваших URL-адресов в вашем доменном имени.

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ https://myurl.com/$1/ [L,R=301]

Приведенное ниже правило применимо только для определенного сегмента URL:

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^en$ /en/ [R=301,NC,L]

Очистить кеш браузера

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

...