子域的htaccess rewriterule转换

时间:2012-11-26 22:38:34

标签: string .htaccess redirect rewrite



我的网站上有一个目录索引器,其路径中有index.php?dir = 为了隐藏URL中的那一点,我有以下完美的工作htaccess:

Options +FollowSymLinks 

RewriteEngine On
RewriteBase /downloads

RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]

RewriteCond %{QUERY_STRING}  ^dir=(.*)$ [NC]
RewriteRule ^ %1? [L,R=301,NE]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)? index.php?dir=$1/ [L,QSA]

从上面的htaccess可以看出,这个目录索引器在

www.example.com/downloads

并且htaccess撒谎了。

现在我决定将文件夹'downloads'移动到另一台主机上不同服务器上的子域

www.example.com/downloads

将被重定向到

downloads.example.com

将在另一台主机上。

有人可以修改上面的htaccess,以便它现在可用于

downloads.example.com

1 个答案:

答案 0 :(得分:0)

您需要使用类似的内容并将此htaccess文件放入 downloads.example.com *

的文档根目录中
Options +FollowSymLinks 

RewriteEngine On
RewriteBase /

RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]

RewriteCond %{HTTP_HOST} downloads.example.com [NC]
RewriteCond %{QUERY_STRING}  ^dir=(.*)$ [NC]
RewriteRule ^ %1? [L,R=301,NE]

RewriteCond %{HTTP_HOST} downloads.example.com [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)? index.php?dir=$1/ [L,QSA]