Перенаправить все после Подкаталога, сохранить URL - PullRequest
0 голосов
/ 21 ноября 2018

Мне нужно перенаправить / acatalog / vvv-123 в / vvv-123

Это то, что у меня есть в моем файле .htaccess на данный момент:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^/acatalog/([^/]+)/$ /$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

Любая помощь будетбудь великим.

1 Ответ

0 голосов
/ 21 ноября 2018

Необходимо понимать, что RewriteRules в файлах динамической конфигурации работают по относительным путям, в отличие от абсолютных путей, которые используются при определении таких правил в реальной конфигурации хоста серверов http.,Вот почему ваше правило не применяется.Кстати, это хорошо задокументировано ...

Так что вам нужно изменить

RewriteRule ^/acatalog/([^/]+)/$ /$1 [L]

, чтобы использовать подход относительного пути, например что-то вроде

RewriteRule ^/?acatalog/([^/]+)/? /$1 [L]

Обратите внимание на начало и конец изменения шаблона: вопросительный знак в начале учитывает, что правило применяется к относительному или абсолютному пути, а в конце - что правило также применяетсяесли запрос не заканчивается косой чертой.

Как правило, вы предпочитаете размещать такие правила в реальной конфигурации хоста http-серверов, а не полагаться на файлы динамической конфигурации.

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