.htaccess文件不会重定向到/public folder(Laravel问题)



我有文件夹/var/www/html/project/himp,有我的拉拉维尔安装。/var/www/html/project是我的登陆页面索引.html和一些css文件。

/himp文件夹中,我有.htaccess:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

同样在/himp/public文件夹中,我也有.htaccess:

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>

现在,当我转到domain.com/himp/public时,我得到了Laravel安装和启动屏幕,但是当我转到domain.com/himp时,我只得到文件夹视图,因此没有重定向到公共文件夹...

为什么?这里可能有什么问题?请帮忙。

RewriteRule中的模式相反(请参阅"匹配的内容?"),变量REQUEST_URI包含完整路径,包括/himp。所以条件应该是

RewriteCond %{REQUEST_URI} !/public

没有字符串锚点^开头,或者必须包含完整路径

RewriteCond %{REQUEST_URI} !^/himp/public

最新更新