Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 需要将非www url路由到www url,其他路由应保持原样_Regex_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Regex 需要将非www url路由到www url,其他路由应保持原样

Regex 需要将非www url路由到www url,其他路由应保持原样,regex,apache,.htaccess,mod-rewrite,Regex,Apache,.htaccess,Mod Rewrite,我知道如何通过.htaccess将example.com路由到www.example.com RewriteEngine On RewriteCond %{HTTP_HOST} !^www\. RewriteRule ^(.*)$ http://www. %{HTTP_HOST}/$1 [R=301,L] 我的要求是example.com/something等应该仍然在example.com/something上,而不是重定向到www.example.com/somet

我知道如何通过.htaccess将example.com路由到www.example.com

    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^www\.
    RewriteRule ^(.*)$ http://www. %{HTTP_HOST}/$1 [R=301,L]
我的要求是example.com/something等应该仍然在example.com/something上,而不是重定向到www.example.com/something。 可能吗?请帮忙

编辑-
让我们更具体一点。我只希望example.com被路由到www.example.com。如果example.com/abcd或example.com/wxyz,则不应重写。www.example.com的内容与example.com完全不同。因此,我只希望example.com被路由到www.example.com,而不希望路由到其他任何地方。

只需创建一个记录,将您的裸域(example.com而不是www.example.com!)指向IP地址
174.129.25.170

现在所有到example.com的请求都将被重定向到www.example.com,而www.example.com本身就是CNAME

174.129.25.170是wwwizer服务的IP地址。wwwizer所做的是检测域是否以“www”开头。否则,它会将请求重定向到包含“www”的URL

斜杠(“/”)后的URL部分被保留,这意味着服务将适用于具有不同路径、参数和锚定的URL


只需创建一个
记录,将您的裸域(example.com而不是www.example.com!)指向IP地址
174.129.25.170

现在所有到example.com的请求都将被重定向到www.example.com,而www.example.com本身就是CNAME

174.129.25.170是wwwizer服务的IP地址。wwwizer所做的是检测域是否以“www”开头。否则,它会将请求重定向到包含“www”的URL

斜杠(“/”)后的URL部分被保留,这意味着服务将适用于具有不同路径、参数和锚定的URL


添加另一个
RewriteCond
以从该规则中排除
/something

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^/?$ http://www.%{HTTP_HOST}/ [R=301,L]

添加另一个
RewriteCond
以从该规则中排除
/something

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^/?$ http://www.%{HTTP_HOST}/ [R=301,L]

你的回答更接近我的要求。“某物”部分应该是通用的。如果example.com/abcd或example.com/wxyz,则不应重写。怎么做?不行。example.com/abcd正在重定向到www.example.com,我还需要排除example.com/*(这是所有路由,而不仅仅是某些特定路由)我不明白你所说的
是什么意思,我还需要排除example.com/*
哪些URI模式应该重定向到
www
,哪些不应该?我只希望example.com被路由到www.example.com。所有其他到example.com的请求都应按原样进行。您的回答更接近我的要求。“某物”部分应该是通用的。如果example.com/abcd或example.com/wxyz,则不应重写。怎么做?不行。example.com/abcd正在重定向到www.example.com,我还需要排除example.com/*(这是所有路由,而不仅仅是某些特定路由)我不明白你所说的
是什么意思,我还需要排除example.com/*
哪些URI模式应该重定向到
www
,哪些不应该?我只希望example.com被路由到www.example.com。所有其他到example.com的请求都应该按原样进行。@anubhava的回答就是我要找的。不过还是要谢谢你@anubhava的答案就是我想要的。不过还是要谢谢你