在这里和那里检查了很多关于相关问题的主题, 但还没有结果。
所以这就是问题所在。
两个项目:
它们位于文件系统的不同位置。 我需要在内部从一个项目重定向到另一个项目, 所以保留了site.loc的url。 例如。请求site.loc /嘿/我需要apache来提供proj2.0文件。
首先,我知道在.htaccess级别上我们不能将RewriteRule用于文件系统路径 (出于安全原因)。 好的,Alias是一种解决方法。
假设我向虚拟主机添加别名如下:
Alias /newsite /some/path/to/proj2.0
然后,如果我将规则添加到proj的.htaccess:
RewriteRule ^hey/there /newsite
这样可行。
但是,webroot不起作用:
RewriteRule ^$ /newsite
我是在做错什么还是有关于webroot的怪癖?
提前致谢
答案 0 :(得分:0)
你不应该重写你的root,但要压制它。以下是我在禁止www
的项目中的表现<IfModule mod_rewrite.c>
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]
</IfModule>
应该有一种方法可以以同样的方式使用/ newsite。