htaccess重定向动态URL,没有查询字符串来查询字符串版本

时间:2013-08-01 15:39:18

标签: .htaccess redirect

我需要重定向一下:

http://domain.com/anotherdomain.com

http://domain.com/subfolder/?website=anotherdomain.com

网址anotherdomain.com将是动态的。它应该只检测在根域之后输入的域而不是其他子文件夹。例如:

应该重定向

domain.com/anotherdomain.com

不应该重定向

domain.com/internet-marketing-services/search-engine-optimization-services/

我尝试了什么:

<ifModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^(/|index.php)?$ /link-building-services/?website=%1 [R=301,L]
</IfModule>

1 个答案:

答案 0 :(得分:1)

无法正常工作的原因是因为%1RewriteCond中捕获的匹配组,并且您没有捕获RewriteCond中的任何内容。 RewriteRule中捕获的变量由$1, $2, $3等表示。

用以下代码替换您的代码:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^([^.]+\..+)$ /link-building-services/?website=$1 [R=301,L]