我有一个多语言网站,它使用根目录('/ 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”。是否有可能在最后一个附加www之前放置一个rewriterule,然后仍然处理最后一个?
答案 0 :(得分:1)
是否真的有必要通过代理方法解决您的www.
重写问题?如果缺少www.
,我会建议定期301重定向。映射到同一个应用程序的许多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]