共享主机上的Mod_Rewrite问题(Godaddy& Laravel 4)

时间:2013-06-09 22:47:32

标签: php apache mod-rewrite laravel

我在共享主机上遇到了mod_rewrite和Laravel 4的问题。

我已将公开重命名为lvrp。重命名本身很好,并已在我的localhost上测试过。但是,在上传到GoDaddy时,它首先只丢了一个500错误。然后我找到另一个 .htaccess 并将其更改为:

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

它可能不是最好的,但至少它有效。那种。

我可以访问初始页面。除非我将index.php添加到URI,否则我无法访问任何其他页面。使用index.php,我可以访问每个页面。

关于如何使其工作而不必添加index.php的任何想法?

编辑#1:

[error] [client x.x.x.x] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.

这是我在apache日志中遇到的错误。

3 个答案:

答案 0 :(得分:0)

  

关于如何使其工作而不必添加index.php的任何想法?

它不需要mod_rewrite。只需在.htaccess:

上添加此行
DirectoryIndex index.html index.php

这将使apache自动查找并呈现index.html,否则index.php将显示在DOCUMENT_ROOT下的任何子目录中。

答案 1 :(得分:0)

好吧,不知怎的,我通过将项目移动到另一个目录来实现这一点。

Apache mod_rewrite(和正则表达式)仍然让我困惑。我不知道为什么它不起作用或为什么它现在起作用。至少它按我想要的方式工作。

对于遇到同样问题的其他人,我在搜索godaddy时遇到了很多例子,还有干净的网址问题。我希望它可以提供一些帮助。

感谢您的回答。

答案 2 :(得分:0)

我知道它已经过时了,但我今天才遇到这个问题并且要解决它我改变了

RewriteRule ^(.*)$ index.php/$1 [L]

RewriteRule ^(.*)$ /index.php/$1 [L]