Mod重写/重写到子目录

时间:2012-07-20 05:24:11

标签: .htaccess mod-rewrite

我一直试图找出mod_rewrite好几天,我想知道你们有没有想法

我的主域名是siteX.com,它映射到'public_html'目录。

最近,我添加了另一个名为siteY.com的域名,并将“public_html / siteY / public_html”标记为其根目录。

现在我正在尝试通过将其映射到'public_html / siteX / public_html'来更改siteX的根目录,但是当我实现mod_rewrite时,它让用户看到网址为'http:// www .siteX.com / SITEX /的public_html”。我需要我的主要域名自动映射到正确的目录,使用只能看到'http://www.siteX.com'。

更好地说明我所指的目录。

public_html (siteX, my primary domain marks this as root directory)
    - .htaccess file
    - siteX
        -public_html (siteX i want my primarily domain to mark this as root directory)
    - siteY
        -public_html ( siteY.com marks this as root directory)

我希望我能明白这个问题。谢谢。

这是我正在使用的重写规则:

RewriteCond %{HTTP_HOST} ^(www.)?siteX.com [NC]
RewriteRule ^$ http://www.siteX.com/siteX/public_html/index.php 

对于我的托管公司,我相信mod_rewrite是唯一的出路

1 个答案:

答案 0 :(得分:1)

如果http://www.siteX.com中有RewriteRule作为目标的一部分,则会自动重定向浏览器。就像拥有[R]标志一样。我想你想要这样的东西:

RewriteCond %{HTTP_HOST} ^(www.)?siteX.com [NC]
RewriteCond %{REQUEST_URI} !^/siteX
RewriteRule ^(.*)$ /siteX/public_html/$1 [L]

在内部将主机siteX.com的所有请求重写到/siteX/public_html/目录。