VirtualHost Same ServerName不同的目录(镜像代码)

时间:2017-08-29 04:11:35

标签: apache mod-rewrite virtualhost server-name

目前存在以下问题 - [我看过类似的Question,但我没有使用代理]

官方代码使用apache文件根目录下的SVN版本控制,该目录连接官方数据库。

我需要构建一个完全复制SVN代码的镜像(在其他目录中),但需要连接测试数据库进行测试。

但两个目录网站使用相同的VirtualHost Servername 设置如下

<VirtualHost *: 80>
   DocumentRoot "E: / website-PHP / online"
   ServerName website
</VirtualHost>

目前的情况是:
连接http://website和浏览子页面是正常的,例如 http://website/test但是当我连接到http://website/mirror时 并浏览子页面,因为代码中的路径是绝对写的。 http://website/mirror/test此页面会自动替换  由http://website/test和连接失败。

※我尝试过使用重写引擎

RewriteCond% {SERVER_NAME} localhost [OR]
RewriteCond% {SERVER_NAME} website
RewriteCond% {REQUEST_URI}! Mirror
RewriteRule ^ (. *) $ Https: //% {SERVER_NAME} / mirror% {REQUEST_URI} [R = 301, L]

但情况将变为:http://website重定向到测试区http://website/mirror/

※尝试使用两套虚拟主机:

<VirtualHost *: 80>
  DocumentRoot "E: / website-PHP / online"
  ServerName website
</VirtualHost>
<VirtualHost *: 8080>
  DocumentRoot "E: / website-PHP / online / mirror"
  ServerName website
</VirtualHost>

apache可以启动,但无法连接到http://website:8080/ 并没有任何错误日志

任何没有编辑源代码的解决方案? 谢谢!

※我的apache版本是2.2.25

0 个答案:

没有答案