我将此规则添加到.htaccess
中,以将所有请求重定向到公用文件夹:
RewriteRule ^(.*)$ /public/$1 [L,NC]
这样我就可以从URI中删除public
字,但mydomain.com/home
和mydomain.com/public/home
都可以使用。
我现在实现了基本的用户身份验证,但会发生的是:
mydomain.com/admin
且不已登录,则Laravel会将他或她重定向到mydomain.com/public/login
而不是mydomain.com/login
mydomain.com/public/admin
,而不是mydomain.com/admin
基于此,我猜Laravel在某处明确指出必须在/public/whatever
进行重定向。我试图找出redirect()
帮助器的显式位置,但我找不到它。我的问题是:
/public/whatever
进行重定向?在哪里可以找到redirect()
帮助者?答案 0 :(得分:1)
<强>的Apache 强>
该框架附带了一个用于允许的public / .htaccess文件 没有index.php的网址。如果您使用Apache来为Laravel提供服务 应用程序,请务必启用mod_rewrite模块。
如果Laravel附带的.htaccess文件无法与您的Apache安装一起使用,请尝试以下方法:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
如果您的网站托管服务商不允许使用FollowSymlinks选项,请尝试将其替换为选项+ SymLinksIfOwnerMatch。