【发布时间】:2018-03-18 00:08:11
【问题描述】:
上传新的 laravel 5.5 项目时遇到问题。当我更改服务器上 public_html 文件夹中的 htaccess 时,它会不断重定向。然而,这个问题在 laravel 5.0 上不存在。这是来自 public_html 文件夹的我的 htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
这是公共文件夹中的 htaccess:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
关于如何解决这个问题有什么建议吗?
【问题讨论】:
-
您是否将您的 laravel 应用发布到共享主机?
-
是的,这就是为什么我需要 public_html 中的第一个 htaccess 文件
-
尝试将
public_html/public/.htaccess文件上的RewriteRule ^ index.php [L]更改为RewriteRule ^ /public/index.php [L] -
没关系,没有新的错误,只是不起作用。
-
好:D。将所有 Laravel 代码放在
public_html目录中的任何方式都是非常冒险的。有人可以直接看到你的 .env 文件。
标签: php laravel .htaccess redirect