使用 .htaccess 重定向到 Web 根目录的符号链接子目录?

使用 .htaccess 重定向到 Web 根目录的符号链接子目录?

我正在尝试使用 Envoyer.io 来部署我的代码,但遇到了一些问题。

该实用程序创建两个文件夹,current并在文件夹中创建指向最新版本的 . 符号releases链接。currentreleases

所以我的目录结构是这样的:

  • 公共的html
    • current - 符号链接到 releases/{release_id}
    • 发布
      • {发布编号}
        • 民众
        • (其他内容)

我需要所有请求都转到current/public目录,使其成为 webroot,而不是public_html

我尝试了将我的 webroot 设置为的明显选项public_html/current/public,但随后出现了错误:Symbolic link not allowed or link target not accessible: /home/mysite/public_html/current

我尝试过Options +FollowSymLinks在我的.htaccess文件中进行各种修改,但都没有成功。我认为我无法访问 Apache conf 文件,因为这是一个共享主机。

我将非常感激有关此事的任何指导。

答案1

我忍不住重复一遍:

.htaccess大多数在 ServerFault 上使用和询问它的人.htaccess根本不应该使用它,因为这是一个从未打算用于最终用户的解决方案对于管理员

你应该完全避免使用.htaccess文件如果您有权访问 httpd 主服务器配置文件。使用.htaccess文件会降低 Apache http 服务器的速度。任何可以包含在文件中的指令.htaccess最好设置在 Directory 块中,因为它将具有相同的效果且性能更好。
更多信息请参见阿帕奇手动的

为了能够使用FollowSymlinks.htaccess主服务器配置需要通过设置文件中的指令来允许该AllowOverride All 选项,或者当使用稍微不那么慷慨的设置时,需要使用AllowOverride Option=FollowSymlinks指令,因为它不是AuthConfig、或 的FileInfo默认分组的一部分。IndexesLimit

相关内容