0

为 .htaccess 文件编写一些正则表达式。下半场工作,但上半场让我发疯。任何正则表达式大师想伸出援助之手?

<IfModule mod_rewrite.c>
Options +FollowSymLinks 
RewriteEngine on
RewriteRule (*./) www.domain1.com/ [R=301,L] # This is not working
RewriteRule (.*) $1.domain2.com/ [R=301,L] # This is working
</IfModule>

我想要的是所有网址,例如:www。测试 .com/example 以转到示例。domain2 .com/ (这部分正在工作)。

但我也想要www的主要网址。测试 .com/ 以访问 www。domain1 .com/ (这部分不起作用)。

我知道它就在我面前,但这是漫长的一天,我脑子里放了个屁)。

4

2 回答 2

0

它看起来像第一个正则表达式,搜索 (*./) 已关闭。我认为应该是 (.*/)。

像这样的东西

RewriteRule ^(.*)$ http://www.new-domain.com/$1 [R=301,L]

应该将请求重定向到新域。

有关更多信息,我会查看此站点以获取 htaccess 帮助http://perishablepress.com/stupid-htaccess-tricks/#redirects以及此http://rubular.com/的快速正则表达式测试使用

于 2012-06-06T21:55:08.457 回答
0

尝试用这个替换你的规则:

RewriteRule ^$ www.domain1.com/ [R=301,L]
RewriteCond %{HTTP_HOST} .*
RewriteRule ^(.+)$ http://$1.domain2.com/ [R=301,L]
于 2012-06-06T21:55:47.443 回答