如何使 RewriteCond+RewriteRule 将 domain2/folder1 更改为 domain1/folder1

如何使 RewriteCond+RewriteRule 将 domain2/folder1 更改为 domain1/folder1

实际上有两个问题。

一是,如何让 RewriteCond+RewriteRule 将 domain2/folder1 更改为 domain1/folder1

实际上我想要的是,任何试图访问不是 domain1 的文件夹 1 的域都会切换到 domain1。例如 domain2.com/domain1/foo -> domain1.com/domain1/foo 以及 domain3.com/domain1/foo -> domain1.com/domain1/foo

这是我尝试过的

RewriteCond %{HTTP_HOST}     !^domain1\.com$ [NC]
RewriteCond %{REQUEST_URI}   ^/folder1/
RewriteRule ^/folder1/(.*)$  http://domain1.com/folder1/$1 [L,R=permanent]

但那不管用。接下来我尝试了一些更简单的规则,看看能否缩小问题范围。

RewriteCond ${HTTP_HOST}  domain2\.com [NC]
RewriteRule ^(.*)$        http://google.com/ [L]

我认为这会使对 domain2.com 的任何请求转到 google.com,因此我尝试了,http://domain2.com/foo但我得到的是 domain2.com/foo 而不是 google.com 如果我转到 ,http://domain2.com我得到的是 google。为什么我转到 却到不了那里http://domain2.com/foo

我对 mod_rewrite 有哪些不理解的地方?

答案1

没关系。上述规则有效。问题是我实际上有一个“folder1”,里面还有另一个 .htaccess 文件。哎呀!

相关内容