Вставить строку (условно) в URL, используя mod_rewrite - PullRequest
2 голосов
/ 23 сентября 2011

Я пытаюсь добиться такого вида mod_rewrite:

*, если request_uri не abc или def * изменить URL-адрес клиента с

domain.com/request_uri

на URL-адрес сервера

domain.com/xyz/request_uri

По сути, я хочу вставить строку в URL без ведома пользователя, если он / она не пытается получить доступ к определенным предопределенным URL.

Пока у меня есть

RewriteCond %{REQUEST_URI} ^/abc$
RewriteRule ^(\w+)/?$ xyz/$1 [L]

но это, похоже, застревает в цикле (/xyz//xyz//xyz...)

1 Ответ

0 голосов
/ 23 сентября 2011

Добавьте условие для проверки добавляемого компонента. Вы можете использовать дополнительные RewriteCond или расширить регулярное выражение. Попробуйте что-то вроде:

RewriteCond %{REQUEST_URI} !^/?(xyz(/.*)|abc|def)/?$
RewriteRule ^(\w+)/?$ xyz/$1 [L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...