Принудительная косая черта вызывает 404, можно ли исправить использование htaccess?

Нарушающие URL-адреса:

  • (Не работает) http://alltheragefaces.com/face/surprised-wut/
  • (Работы) http://alltheragefaces.com/face/surprised-wut

Правило .htaccess, которое у меня есть для этих типов URL-адресов, выглядит следующим образом:

RewriteRule ^face/(.*)$ face.php?term=$1

Что я могу сделать, чтобы оба этих URL-адреса переходили на одну страницу?

Solutions Collecting From Web of "Принудительная косая черта вызывает 404, можно ли исправить использование htaccess?"

Вы можете использовать это:

  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]