HtAccess Rewrite работает с [R], но не с [L] - PullRequest
0 голосов
/ 02 февраля 2012

Итак, я пытаюсь: sub.example.com/page переписать на www.example.com/sub/page

У меня есть этот код, который работает (обратите внимание на последний символ):

RewriteCond %{HTTP_HOST} !www.example.com$ [NC]
RewriteCond %{HTTP_HOST} ^([a-z0-9-]+).example.com [NC]
RewriteRule ^(.*) http://www.example.com/%1/$1 [R]

И этот код, который не:

RewriteCond %{HTTP_HOST} !www.example.com$ [NC]
RewriteCond %{HTTP_HOST} ^([a-z0-9-]+).example.com [NC]
RewriteRule ^(.*) http://www.example.com/%1/$1 [L]

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

1 Ответ

0 голосов
/ 02 февраля 2012

Попробуйте изменить последнее правило на

RewriteRule ^(.*) http://www.example.com/%1/$1 [P]

Если вы перечислите свою структуру каталогов, чтобы показать, как связаны sub.example.com и www.example.com, это также может быть возможно с помощью перезаписи по сравнению с более дорогим (более медленным) прокси-решением, описанным выше.

...