我有一个多个域共享一个htaccess的系统。目前,我使用以下命令将所有非www请求重定向到www。
RewriteCond%{HTTP\u HOST}^www\。[NC]重写规则^(.*)$http://www.%{HTTP_HOST}/$1[R=301,L]
唯一的问题是现在我根本不能使用子域,因为子域。我的主人。com将被重定向到www.sub-domain。我的主人。com
上述规则是否有一种方法可以排除所有以“sub-”开头的请求?而不是重定向到www。
更新:
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(?!(?:sub-|www)\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
在我的表格中只有以上5行。htaccess将抛出“500-内部服务器错误”。
尝试以下简单调整:
RewriteCond %{HTTP_HOST} ^(?!(?:sub-|www)) [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
解释
^
锚定声明我们位于字符串的开头(?!(?:sub-| www))
断言下面的内容不是sub-
或www
我有这个在我的. htaccess文件: 但是每当我访问根目录上的文件时,就像它将重定向到。 我如何纠正它,以便它将正确地重定向到?
我有以下htaccess代码: 我希望我的站点被重定向到使用HTTPS,并强制执行子域,但当我访问(没有HTTPS),它不会将我重定向到使用HTTPS。
我正在尝试使用重定向主网站URL。从www到非www的htaccess,但使用下面的代码片段也会影响我的子域博客。我的域名。通用域名格式。如果我进入子域。我的域名。com我被直接重定向到mydomain。通用域名格式 如何从规则中排除子域? Litespeed web服务器
问题内容: 是否有可能以某种方式将www重定向到node.js中的非www URL?由于节点Web服务器中没有htaccess,我很好奇该怎么做。 问题答案: 你在用快递吧?如果是这样,则可以使所有GET请求都通过的路由处理程序,检查它们是否为“ www” URL,并在适当时重定向到适当的非www URL。
我通过将非www请求重定向到www。htaccess重写规则。 重写Cond%{HTTP_HOST}!^www 重写规则(.*)www.%{HTTP_HOST}/1美元[L, R=301] 但现在我在子域方面遇到了问题。当我访问然后上述规则重定向到(不可访问),网站在触摸设备上中断。 请告诉我如何解决上述问题。
问题内容: 我想使用PHP将所有www.domain.com请求重定向到domain.com,基本上是: 但是我确实想像SO中那样维护请求的URL,例如: 应该重定向到: 我不想依靠解决方案,并且我不确定要使用哪种变体来实现这一目标。同样,保留HTTPS协议将是一个加号。 我应该怎么做? 问题答案: 将用户重定向到完全相同的页面,www。完整。 因此,要摆脱www。,我们只需替换一行: 那应该起作