仅重写一个特定网址

时间:2013-08-07 11:25:58

标签: .htaccess redirect rewrite

我想重写一个特定的网址。

http://example1.com应为http://example2.de

http://example1.com/subdirhttp://sub.example1.com应保持不变。

我找到了以下内容,它成功地重写了example1.com,但也找到了以example1.com开头的每个网址

Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^example.com [NC] 
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]

背景:我想重定向WP-Multisite的主页,但是想确保我可以使用wordpress的后端并运行其他子域的多站点。

2 个答案:

答案 0 :(得分:1)

仅匹配http://example.com域(无法在example.com之前或之后添加任何内容)使用以下代码:

RewriteCond %{HTTP_HOST} ^(example.com(\/{0,1})){1}$
RewriteRule http://example2.de(\/{0,1}) [R=301,L]

(\/{0,1})部分用于匹配example.comexample.com/(但没有任何问题) - 如果您不希望匹配example.com/,请从两行中删除该部分。

答案 1 :(得分:1)

你非常接近,但你不需要在$1中捕获URI:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?example1\.com$ [NC]
RewriteRule ^$ http://example2.de/ [L,R=301]