Don*_*nia 2 php .htaccess redirect laravel
我将laravel应用程序部署到godaddy托管中.我使用http://forums.laravel.io/viewtopic.php?id=1258中的解决方案2
现在我有一个工作的laravel应用程序,可以使用http://domain/和访问http://domain/public/
我希望关闭访问权限http://domain/public/以便所有人都可以使用http://domain
我试试这个.htaccess规则,但我仍然可以访问 http://domain/public/
RewriteCond %{REQUEST_URI} ^public
RewriteRule ^public/(.*)$ $1 [L]
Run Code Online (Sandbox Code Playgroud)
或者,有没有办法设置godaddy托管所以我可以将公用文件夹设置为域的文档?
谢谢.
您不仅必须重写,还必须重定向客户端.在RewriteCond这里不需要,因为RewriteRule已经限制到public/只请求
RewriteRule ^public/(.*)$ $1 [R,L]
Run Code Online (Sandbox Code Playgroud)
但现在你有一个无限循环,重写和来回重定向.要打破循环,您需要检测是否已重写请求
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule ^ - [L]
Run Code Online (Sandbox Code Playgroud)
把所有东西放在一起,包括Laravel论坛的规则
RewriteEngine on
# prevent endless loop
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule ^ - [L]
# redirect client to non-public
RewriteRule ^public/(.*)$ $1 [R,L]
# send real page to client
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^.*$ public/$0 [L]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6727 次 |
| 最近记录: |