我一直试图找出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是唯一的出路
答案 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/
目录。