【发布时间】:2020-01-16 20:27:40
【问题描述】:
我的 ISP 不允许我的 cpanel 托管 laravel 站点拥有自定义根文件夹(Laravel 结构中的公用文件夹)。
这意味着我无法让服务器将 /public_html/public 视为根。它必须始终是 /public_html
按照他们的指导,我设置了以下 /public_html/.htaccess 规则以使 Laravel 公用文件夹显示为根文件夹
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain-name.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.domain-name.com$
RewriteCond %{REQUEST_URI} !public/
RewriteRule (.*) /public/$1 [L]
这或多或少有效,但不完全有效。问题是,如果我在我的网站上请求一个带有结尾反斜杠的页面,则页面 url 以
结尾www.domain-name.com/public/contact-us
而不是我所期望的
www.domain-name.com/contact-us
我认为这一定是 .htaccess 的问题,但我尝试了各种排列但无法解决。不过我可能错了,也许它最终需要在 URL 检查后通过 Laravel 重定向来修复。
这让我发疯了,我真的很感激任何想法!
【问题讨论】:
标签: php regex laravel .htaccess laravel-5