好的,我发现了一些与非常相似的问题相关的线程,但是没有运气使用我自己网站提供的答案。基本上我有2个站点,映射如下:
/public_html/ - points to main domain (www.site1.com)
/public_html/site2.com - points to secondary domain (www.site2.com)
/public_html/portal - points to my target subdirectory
我正在尝试向www.site2.com/portal请求所有请求以透明方式加载www.site1.com/portal,我仍然希望www.site2.com/portal显示在地址栏中。< / p>
RewriteCond %{HTTP_HOST} ^(www\.)?site2\.com [NC]
RewriteCond %{REQUEST_URI} ^/portal/(.*)$
RewriteRule ^/(.*) /portal/$1 [L]
根本不起作用
RewriteCond %{HTTP_HOST} ^(www\.)?site2\.com$ [NC]
RewriteCond %{REQUEST_URI} ^/portal/(.*)$
RewriteRule ^(.*)$ http://site1.com/portal/$1 [L]
带我去http://site1.com/portal/site2.com/portal。
我已经在墙上撞了一下墙几天,任何帮助都会受到赞赏!
答案 0 :(得分:1)
除非在httpd.conf中启用mod_proxy,否则您当前的设置不会支持您要获取的内容。所以这里有两个选项:
将此代码放在.htaccess
目录下的public_html/site2.com
:
RewriteCond %{HTTP_HOST} ^(www\.)?site2\.com$ [NC]
RewriteRule ^(portal/.*)$ http://site1.com/$1 [L,NC,P]
/path-to/public_html/site2.com/portal -> /path-to/public_html/portal
然后将此代码放在.htaccess
目录下的public_html/site2.com
:
Options +FollowSymLinks -MultiViews
恕我直言选项#2对你来说会更容易,因为它只需要创建一个符号链接(我相信你正在使用*nix
的一些风格。