Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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
.htaccess非www到www URL重定向将删除基本URL以外的任何URL路径_Url_.htaccess_Mod Rewrite_Redirect - Fatal编程技术网

.htaccess非www到www URL重定向将删除基本URL以外的任何URL路径

.htaccess非www到www URL重定向将删除基本URL以外的任何URL路径,url,.htaccess,mod-rewrite,redirect,Url,.htaccess,Mod Rewrite,Redirect,当来访者离去时,可以说: http://website.com/dir/dir2/file.html “我的重新写入”会清除基本url之外的路径,并将其重定向到前面有www的主页 http://www.website.com/ 如何防止剥离发生,并将访问者发送到主页而不是他们请求的url?仅供参考,有问题的URL确实存在 塔克斯 在重写结束时包括文件/路径信息,如下所示: RewriteCond %{HTTP_HOST} !^www\.website\.com [NC] Rewrit

当来访者离去时,可以说:

http://website.com/dir/dir2/file.html

“我的重新写入”会清除基本url之外的路径,并将其重定向到前面有www的主页

http://www.website.com/

如何防止剥离发生,并将访问者发送到主页而不是他们请求的url?仅供参考,有问题的URL确实存在


塔克斯

在重写结束时包括文件/路径信息,如下所示:

RewriteCond     %{HTTP_HOST}   !^www\.website\.com [NC]
RewriteCond     %{HTTP_HOST}   !^$
RewriteRule     ^/(.*)         http://www.website.com/$1 [L,R]

仅供参考,这是一个Magento网站

在.htaccess中,在

#RewriteBase /magento/
在这之后,我把它们放在自己的行上:

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

它是有效的。有孩子的爸爸也做对了,只是不知道第二行是干什么的。

大多数人都需要
RewriteBase
set,所以试试:

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} !^(?:www\.your-live-domain\.com|staging\.domain\.com)$ [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule .* http://www.your-live-domain.com/$0 [L,R=301]

使用301将其永久化

我在RewriteRule.*index.php[L]之后的重写中删除了它,但它仍然重定向到基本url。这条规则引起了骚动吗?您建议的代码是否应该放在index.php重写规则之前?谢谢这应该永远是你的第一条规则。它是我所有其他规则中最重要的,因为它需要放在第一位。一旦站点重定向到完全限定的域,第一条规则中的条件将不再满足,因此它将被绕过,您的其余规则将生效。Rick,对于您下面的回答(因为我无法对此发表评论),我实际上不记得第二行是什么意思。正如您所建议的,它可能是可选的。按照正则表达式的读取方式,它正在寻找一个非空的HTTP_主机——我不确定该条件何时为真。我只知道这组3行代码在我管理的许多网站上运行得很好,已经好几年了。谢谢你的反馈,DWK!干杯,瑞克……不,他没有!第一行的美元也很便宜!