Laravel Pretty URL炼狱

时间:2014-10-14 16:54:19

标签: .htaccess laravel

我之前从未遇到过这个问题,在新的工作机器上安装并遇到一些奇怪的问题。首先,我应该指出它工作正常,并且在进行一些看似无关的编辑后,没有index.php的路由成为一个问题。 我启用了:

LoadModule rewrite_module libexec/apache2/mod_rewrite.so 

我的htaccess:

<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>

我尝试了一堆基于堆栈溢出gthreads的组合。这一小时似乎太长了,我无法弄清楚发生了什么。

1 个答案:

答案 0 :(得分:0)

第1步是确保Apache的重写确实有效。尝试在名为bar.php

的Web根目录中创建文件
#File: bar.php
<p>Hello Bar</p>

然后在.htaccess文件中创建以下内容。

<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule foo.php bar.php [L]
</IfModule>

然后尝试在服务器上加载URI foo.php

http://mysite.example.com/foo.php

如果您的网络服务器正确重定向到bar.php,那么您就能正确了解Apache的设置。如果没有,则表示重写未开启。一旦你知道重写是打开还是关闭,你就会知道在哪里集中调试。