Переписать поддомен - PullRequest
       4

Переписать поддомен

1 голос
/ 09 октября 2010

Очевидно, довольно простой вопрос: как мне переписать

(value1) .example.com / (значение2)

до

/ (значение1) / (значение2)

Я попробовал пару вещей без успеха.

Заранее спасибо.

1 Ответ

1 голос
/ 09 октября 2010

Попробуйте это правило:

RewriteCond %{HTTP_HOST} ^([^/.]+)\.example\.com$
RewriteCond $1/%1 !^([^/]+)/\1$
RewriteRule ^/([^/]+)? /%1%{REQUEST_URI} [L]

Некоторое объяснение: Мое предыдущее предложение вызвало бесконечную рекурсию, поскольку флаг L вызывает перезапуск процесса перезаписи сновый URL:

Помните, однако, что если RewriteRule генерирует внутреннее перенаправление (что часто происходит при перезаписи в контексте для каталога), это приведет к повторному отклонению запроса и вызовет обработкуповторяется, начиная с первого RewriteRule.

Второе условие позволит избежать этого, поскольку оно сравнивает часть субдомена с первым сегментом пути.И только если они различны, условие выполняется и перезапись происходит.

...