Regex 将url重写为非www多个站点
我有一些网站,他们运行相同的文件,但不同的模板,我的目标是强制使用所有的www或非www域 这是我的代码:Regex 将url重写为非www多个站点,regex,.htaccess,mod-rewrite,Regex,.htaccess,Mod Rewrite,我有一些网站,他们运行相同的文件,但不同的模板,我的目标是强制使用所有的www或非www域 这是我的代码: RewriteCond %{HTTPS} (on)? RewriteCond %{HTTP:Host} ^(?!www\.)(.+)$ [NC] RewriteCond %{REQUEST_URI} (.+) RewriteCond %{HTTP:Host} ^[^.]+\.[a-z]{2,5}$ [NC] RewriteRule .? http(?%1s)://www.%2%3 [R=3
RewriteCond %{HTTPS} (on)?
RewriteCond %{HTTP:Host} ^(?!www\.)(.+)$ [NC]
RewriteCond %{REQUEST_URI} (.+)
RewriteCond %{HTTP:Host} ^[^.]+\.[a-z]{2,5}$ [NC]
RewriteRule .? http(?%1s)://www.%2%3 [R=301,L]
从stackoverflow的其他问题中获取:)
但是如果我使用www域名一切都好,如果没有得到这个重定向
http://domain.de/www/htdocs/user/_production/http%28?s%29://www.
为什么不这样简化规则:
Options +FollowSymLinks -MultiViews
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTPS} =on
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
为什么不简化您的规则如下:
Options +FollowSymLinks -MultiViews
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTPS} =on
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
获取服务器错误。。。不清楚这是什么问题,以阻止重写cond%{HTTPS}=在RewriteCond%{HTTP_HOST}上^www\。[NC]RewriteRule^{HTTP_HOST}%{REQUEST_URI}[R=301,L]RewriteCond%{HTTPS}=在RewriteCond%{HTTP_HOST}上^www\。[NC]RewriteRule^{HTTP\u HOST}%{REQUEST\u URI}[R=301,L]实际上我的错,在
%{REQUEST\u URI}
之前有一个空格字符。我编辑了它,请再试一次。太好了,谢谢你,我怎样才能排除一些要重定向的子域?比如admin.domain.com,不客气。您可以像这样添加一个RewriteCond行:RewriteCond%{HTTP\u HOST}^admin\.domain\.com$[NC]
避免重定向到admin.domain.com
获取服务器错误。。。不清楚这是什么问题,以阻止重写cond%{HTTPS}=在RewriteCond%{HTTP_HOST}上^www\。[NC]RewriteRule^{HTTP_HOST}%{REQUEST_URI}[R=301,L]RewriteCond%{HTTPS}=在RewriteCond%{HTTP_HOST}上^www\。[NC]RewriteRule^{HTTP\u HOST}%{REQUEST\u URI}[R=301,L]实际上我的错,在%{REQUEST\u URI}
之前有一个空格字符。我编辑了它,请再试一次。太好了,谢谢你,我怎样才能排除一些要重定向的子域?比如admin.domain.com,不客气。您可以像这样添加一个RewriteCond行:RewriteCond%{HTTP\u HOST}^admin\.domain\.com$[NC]
避免重定向到admin.domain.com