Удалить косую черту в htaccess


person Matthew Correa    schedule 06.10.2015    source источник
comment
да, ErrorDocument 404 /404/ работает, я проверял с ним и без него, это не проблема   -  person Matthew Correa    schedule 06.10.2015


Ответы (1)


Сделайте это так в вашем корневом файле .htaccess:

ErrorDocument 404 /404/

RewriteEngine On

## Unless directory, remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+?)/$ /$1 [NE,R=302,L]

Проверьте это после очистки кеша браузера. После завершения тестирования измените 302 на 301, чтобы сделать его постоянным перенаправлением.

person anubhava    schedule 06.10.2015
comment
я получаю внутреннюю ошибку сервера - person Matthew Correa; 06.10.2015
comment
F:/Apache/www/.htaccess: недопустимая команда «RewriteCond», возможно, написана с ошибкой или определена модулем, не включенным в конфигурацию сервера. - person Matthew Correa; 06.10.2015
comment
я включил его, но теперь я не получаю сообщение об ошибке, но оно не удаляет / - person Matthew Correa; 07.10.2015
comment
локальный/404, локальный/css, локальный/по умолчанию - person Matthew Correa; 07.10.2015
comment
как мне сделать так, чтобы это был настоящий каталог и ненастоящий каталог - person Matthew Correa; 07.10.2015
comment
/ не следует удалять из реальных каталогов, так как это представляет угрозу безопасности. Для всех URL-адресов, не относящихся к каталогу, вышеуказанное правило будет работать нормально. - person anubhava; 07.10.2015
comment
почему это угроза безопасности?? - person Matthew Correa; 07.10.2015
comment
Прочтите предупреждение о безопасности на http://httpd.apache.org/docs/2.2/mod/mod_dir.html#directoryslash - person anubhava; 07.10.2015
comment
как это делает ютуб?? так что это youtube.com/watch?v=101 вместо youtube.com/watch/?v=101 - person Matthew Correa; 07.10.2015
comment
Потому что /watch/ не настоящий каталог. Также мы не можем долго болтать по этому поводу. Вы можете поискать по этому вопросу. Я уже ответил на исходную проблему в своем ответе. - person anubhava; 07.10.2015
comment
последний вопрос, тогда как он позволяет вам смотреть видео, не перенаправляя вас на страницу 404, а когда вы вводите, например, youtube.com/bob?v=101, он перенаправляет вас на youtube.com/watch?v=101 - person Matthew Correa; 07.10.2015
comment
Это просто. Он проверяет наличие /watch в начале URL-адреса и, если его нет, перенаправляет на /watch?... - person anubhava; 07.10.2015