Mod_Rewrite Laravel 文件夹

Mod_Rewrite Laravel 文件夹

好吧,我正在绞尽脑汁,无法让 mod_rewrite 规则发挥作用。

这是我的 apache 配置

<VirtualHost x.x.x.x:80>
DocumentRoot "/web/domain1/"
ServerName www.example.com
ServerAlias example.com

        <Directory "/web/domain1/">
        Options -Indexes
        </Directory>
</VirtualHost>

我的目录布局

/web
    |
    --domain1/ (/web/domain1)
    |
    ------report/ (/web/domain1/report)
    |
    -----------public/ (/web/domain1/report/public)

我正在尝试将重写规则放入 apache 配置中,这样当用户访问 www.domain1.com/report 时,他们将从 /web/domain1/report/public 文件夹获得服务,并且 URL 应保持为 www.domain1.com/report。非常感谢任何帮助。

答案1

要重定向服务器的子目录,您可以像这样使用 mod_rewrite:

RewriteCond %{REQUEST_URI} /url [NC]
RewriteRule ^(.*)$ other.example.com/$1 [R]

如果你想在不让用户看到其他网址的情况下显示其他网站的内容,则需要 mod_rewrite 和 mod_proxy,如下所示:

RewriteCond %{REQUEST_URI} /url [NC]
RewriteRule ^(.*)$ http://other.example.com/$1 [P]

根据您的环境,mod_proxy 可能需要其他配置步骤。

还可以考虑 Apache 的高级 mod_rewrite 指南

相关内容