我试图告诉我的服务器重定向以下请求:
http://example.es
http://example.es/
http://example.es/es
http://example.es/es/
http://www.example.es
http://www.example.es/
http://www.example.es/es
到这个页面:
http://www.example.es/es/
为了做到这一点,我的 .htaccess 中有以下内容
#RewriteEngine On # Turn on the rewriting engine
RewriteBase /
RewriteCond %{HTTP_HOST} ^(\.?example\.es(/|/es|/es/)?|www\.?example\.es(/|/es)?)$ [NC]
RewriteRule ^(.*)$ http://www.example.es/es/ [R=301,L]
问题在于它会导致无限重定向,因为所需的 URL http://www.example.com/es/也包含 HTTP_HOST 字符串。问题是我找不到准确的正则表达式来避免这个问题。
.htaccess 的其余部分如下:
php_flag register_long_arrays on
php_flag register_globals on
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css javascript application/javascript
ExpiresActive On
ExpiresByType text/css "access plus 1 years"
ExpiresByType image/png "access plus 1 years"
ExpiresByType application/javascript "access plus 1 years"
Header set Connection keep-alive
非常感谢帮助!
干杯!