Нарушающие URL-адреса:
Правило .htaccess, которое у меня есть для этих типов URL-адресов, выглядит следующим образом:
RewriteRule ^face/(.*)$ face.php?term=$1
Что я могу сделать, чтобы оба этих URL-адреса переходили на одну страницу?
Вы можете использовать это:
RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+)/$ /$1 [L,R=301]
В первой строке говорится: «если это не каталог» (потому что тогда имеет значение конечная косая черта). Во второй строке говорится: переадресуйте все от начала до следа trailings и закончите все, что было там, без конечной косой черты.
Поместите свой собственный RewriteRule
(ниже этого, а не выше), чтобы ваш обычный перенаправление продолжал работу после удаления конечной косой черты.
(этот, очевидно, будет работать и для /body/
, и не только для /face/
.
Я использую это правило, которое слегка изменено для поддержки любой структуры вложенных папок
# Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [L,R=301]