【发布时间】:2015-08-17 04:46:47
【问题描述】:
正如标题所说,
在 Laravel 5.1
中,如果 URL 中没有“/public”,则发布请求不起作用例如,在登录表单中,如果action url是
/auth/login
它不起作用并在提交后再次将我重定向到登录页面,但是如果我将操作 url 更改为
/public/auth/login
它工作正常。 其他形式也一样。
这是我位于 laravel 根文件夹中的 .htaccess 文件
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
这是位于公共文件夹中的 .htaccess 文件
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
顺便说一句,该应用程序是在 Godaddy 共享主机帐户上发布的。 本地服务器不存在此问题(wamp)
如何解决这个问题? 提前致谢。
【问题讨论】:
-
您使用什么来服务您的应用程序? (Apache,nginx,
./artisan serve。我敢打赌,您没有将public添加到虚拟主机的末尾。另外,为什么将server.php更改为index.php? -
该应用发布在 Godaddy 共享主机帐户上。看了一篇文章说需要将server.php文件重命名为index.php。无论如何,我将其重命名为 server.php
标签: .htaccess laravel post request