【问题标题】:.htaccess redirecting all requests to /home/aaa/public_html to /home/bbb/public_html?.htaccess 将所有请求重定向到 /home/aaa/public_html 到 /home/bbb/public_html?
【发布时间】:2019-02-08 16:24:50
【问题描述】:

有没有办法将所有请求重定向到 /home/aaa/public_html 这是 aaa.com 的文档根目录,请求例如:

https://www.aaa.com/
https://www.aaa.com/xyz/def.jpg
https://www.aaa.com/account/login.php

/home/bbb/public_html中对应的文件,如:

/home/bbb/public_html/index.php
/home/bbb/public_html/xyz/def.jpg
/home/bbb/public_html/account/login.php

有什么方法可以通过 /home/aaa/public_html/.htaccess 来实现吗?

所以所有实际的网站文件都在 /home/bbb/public_html 中,但请求被发送到 https://www.aaa.com/,其文档实际上是 /home/aaa/public_html强>

我不打算在 HTTP 级别进行重定向,而是在文件系统级别进行重定向。这可能吗?怎么样?

谢谢!

【问题讨论】:

  • 如果您想处理来自/home/bbb/public_html所有 请求,那么为什么不提供DocumentRoot 呢?
  • 由于一些遗留原因。这能做到吗?

标签: .htaccess


【解决方案1】:

使用alias 指令可以实现它。将以下 sn-p 放入您的 VirtualHost 部分:

Alias / /home/bbb/public_html/

<Directory /home/bbb/public_html>
   Options Indexes
   Allow from all
   Require all granted
</Directory>

但是请记住,通过设置一个新的 DocumentRoot 来实现这一点非常简单,只需使用单行 Apache 服务器配置:

DocumentRoot /home/bbb/public_html

【讨论】:

  • 我希望 /home/aaa/public_html 和 /home/bbb/public_html 都作为独立域工作,但它们由相同的代码库支持。所以我认为新的 DocumentRoot 不起作用,因为我需要它们两个都工作?
  • https://www.aaa.com/ 可以显示来自/home/aaa/public_html/index.php/home/bbb/public_html/index.php 的内容,但它如何显示来自这两个文件的内容。可能您可以使用另一个子域或新目录路径来执行此操作,即https://www.aaa.com/b/
猜你喜欢
  • 2014-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-13
  • 1970-01-01
相关资源
最近更新 更多