две RewriteRules с перенаправлением www - PullRequest
0 голосов
/ 07 апреля 2010

У меня есть многоязычный веб-сайт, который использует подкаталоги из корня («/ en» для английского и «/ es» для испанского) для каждого конкретного языка.Каждое перенаправление добавляет переменную get к URL-адресу и скрывает ее, используя флаг «P» для прокси.Мой текущий файл htaccess для испанской подпапки:

Options +FollowSymlinks
RewriteEngine on
RewriteOptions MaxRedirects=10
RewriteBase /
RewriteRule ^(.*)\.html$ $1.php
RewriteRule ^(.*)$ http://www.domain.com/$1?l=es [P,R=301,L]

Проблема заключается в том, что я также хочу добавить 'www' к домену, если он был отключен.Перенаправление прокси не показывает "www."Возможно ли поместить rewriterule перед тем последним, который добавит www, а затем все еще обработать последний?

1 Ответ

1 голос
/ 07 апреля 2010

Действительно ли необходимо, чтобы перезапись www. была решена с помощью прокси-метода? Я бы порекомендовал регулярный редирект 301, если www. отсутствует. Многие URL-адреса, привязанные к одному и тому же приложению, просто вызовут использование сеанса / файла cookie (прочитайте no-www ).

Options +FollowSymlinks
RewriteEngine on
RewriteOptions MaxRedirects=10

RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 

RewriteBase /
RewriteRule ^(.*)\.html$ $1.php
RewriteRule ^(.*)$ http://www.domain.com/$1?l=es [P,R=301,L]
...