如何内部重写对子目录的所有请求?

如何内部重写对子目录的所有请求?

我使用的是 Laravel 5.6,我只能将文件上传/编辑到网站根目录(/public_html)。我无法将网站根目录更改为/public_html/public。是否可以重写全部请求(例如//login/css/styles.css)内部到/public_html/public/

我不知道如何编写 .htaccess 文件。我尝试了网上找到的许多不同方法。我最后尝试的是这个/public_html/.htaccess

RewriteEngine On

RewriteRule ^(.*)$ /public/$1 [L]

答案1

RewriteRule ^(.*)$ /public/$1 [L]

你只需要额外的状况以防止重写循环。例如:

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule (.*) /public/$1 [L]

环境REDIRECT_STATUS变量在初始请求时为空,在第一次重写成功后设置为 200(OK)。

不需要开始/结束锚点(^和),因为正则表达式默认是贪婪的。$

相关内容