2010-12-01 56 views
0

我想这样做,重定向:帮助htaccess的变量重定向

的http:// anySubdomain(通配符) .mydomain.com来/

anysubdomain(通配符) .mydomain.com来/使page2.php

我试图与此:

RewriteCond %{HTTP_HOST} ^(.*)\.mydomain.com$ [OR] 
    RewriteRule ^/?$ "http\:\/\/$1\.mydomain\.com\/page2\.php" [R=301,L] 

但它不起作用,rewriteCond部分运作良好,因为,任何子域被重定向。

但它达到: “.mydomain.com来/使page2.php”

你能帮助我吗?谢谢!

回答

0

有几件事情错了你重写:

  1. [或]正在将其应用到一切
  2. 你不需要逃脱的规则,使很多字符。
  3. 需要通过%1通过主机名变量
  4. 它会创建一个无限循环,因为它也会尝试将page2.php重定向回自己。

应该做到这一点:

RewriteCond %{REQUEST_FILENAME} !.*page2.php$ 
RewriteCond %{HTTP_HOST} ^(.*)\.mydomain.com$ 
RewriteRule ^(.*)$ http://%1.mydomain.com/page2.php [R=301,L] 
+0

你几乎得到它,你做了什么让domain.com中的所有页面重定向到使page2.php。但我只想根重定向:我把你的代码和改变了一件事,它做的伎俩: RewriteCond%{REQUEST_FILENAME}!。* page2.php $ RewriteCond%{HTTP_HOST} ^(。*) \ .mydomain.com $ RewriteRule^/?$ http://%1.mydomain.com/page2.php [R = 301,L] ^ /?$ – john 2010-12-01 18:48:25