удаление косой черты после .php или .html - PullRequest
0 голосов
/ 24 сентября 2019

Я хочу удалить косую черту после .html или .php. У меня есть и файл, и папка в папке проекта

project Name
    -event (folder)
    -learn(folder)
    -event.html(file)

Я хочу удалить папку / после папки или файл, который необходимо удалить/ после папки event / и event.html.

url, например: test.domain.net/event.html test.domain.net/event

#removing tailing slash after .html or .php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{THE_REQUEST} \s(.+?)/+[?\s]
RewriteRule ^(.+?)/$ /$1 [R=301,L]

#End of removing tailing slash  

1 Ответ

0 голосов
/ 24 сентября 2019

Это, вероятно, то, что вы ищете:

RewriteEngine on
RewriteRule ^/?(.*)/$ /$1 [END,QSA]

Если вы хотите применить это правило, только если целевой объект действительно существует в файловой системе на стороне сервера, это может сделать:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} ^(.*)/$
RewriteCond %1 -f [OR]
RewriteCond %1 -d
RewriteRule ^ %1 [END,QSA]

Если вы получаете внутреннюю ошибку сервера (статус http 500), используя вышеприведенное правило, скорее всего, вы используете очень старую версию http-сервера apache.В этом случае вы увидите определенный намек на неподдерживаемый флаг [END] в файле журнала ошибок http-серверов.Вы можете попытаться обновить или использовать более старый флаг [L], он, вероятно, будет работать так же в этой ситуации, хотя это немного зависит от ваших настроек.

Эта реализация также будет работать в конфигурации хоста http-серверов или внутри файла динамической конфигурации (файл ".htaccess").Очевидно, что модуль перезаписи должен быть загружен внутри http-сервера и включен на хосте http.Если вы используете динамический файл конфигурации, вам нужно позаботиться о том, чтобы его интерпретация была включена вообще в конфигурации хоста и чтобы он находился в папке DOCUMENT_ROOT хоста.

И общее замечание: вам всегда следует размещать такие правила в конфигурации хоста http-серверов, а не использовать файлы динамической конфигурации (".htaccess").Эти динамические конфигурационные файлы добавляют сложность, часто являются причиной неожиданного поведения, их трудно отладить, и они действительно замедляют работу http-сервера.Они предоставляются только в качестве последнего варианта для ситуаций, когда у вас нет доступа к реальной конфигурации хоста http-серверов (читай: действительно дешевые поставщики услуг) или для приложений, настаивающих на написании своих собственных правил (что является очевидным кошмаром безопасности).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...