htaccess文件-RewriteCond-添加www的条件。仅在网址中不包含字符串的情况下才返回网址

时间:2019-01-04 14:55:57

标签: .htaccess mod-rewrite

我有一个网站:example.com。

我有一个开发网站:development.example.com

已要求我在“ www。”之前加上前缀。网址,但是我无法将其添加到开发站点。

是否可以获取条件来检查该网站是否没有“ www”。 &不包含字符串'development'。如果是这样的话。添加“ www。”网址字符串?

这是我当前的情况:

RewriteEngine On

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{SERVER_NAME}/$1 [L,R=301]

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

我的逻辑有点解释: 如果我先运行https重定向,则可以确保两个“ www”的网址。和“发展”。移至https。 然后,我希望编辑“!^ www”。在第二部分的条件中添加“ www。”如果没有“ www”。而且没有“发展”。

但是这个当前规则显然将我的开发站点的URL更改为https://www.development.example.com,从而导致了问题。

答案是否会类似于-

RewriteCond %{HTTP_HOST} !^www\..!^development\. [NC]

预先感谢杰森。

1 个答案:

答案 0 :(得分:0)

我设法将两个RewriteCond链接在一起的方式是这样的:

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

进一步阅读-您可以在RewriteRule之前链接条件。

谢谢杰森。