.htaccess со слешем или без него
-
22-08-2019 - |
Вопрос
Что мне нужно сделать со следующим правилом перезаписи, чтобы оно работало независимо от того, есть ли косая черта в конце URL-адреса?
то есть.http://mydomain.com/content/featuredилиhttp://mydomain.com/content/featured/
RewriteRule ^content/featured/ /content/today.html
Решение
Использовать $
чтобы отметить конец строки и ?
чтобы пометить предыдущее выражение как повторяющееся ноль или один раз:
RewriteRule ^content/featured/?$ content/today.html
Но я рекомендую вам придерживаться одной записи и исправить опечатку:
# remove trailing slashes
RewriteRule (.*)/$ $1 [L,R=301]
# add trailing slashes
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .*[^/]$ $0/ [L,R=301]
Другие советы
простой способ сделать это:
RewriteEngine On
RewriteBase /
RewriteRule ^content/featured(\/||)$ /content/today.html [L,R=301,NC]
Не связан с StackOverflow