1

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

我已将 public 重命名为lvrp. 重命名本身很好,并且已经在我的本地主机上进行了测试。但是,当上传到 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 日志中得到的错误。

4

3 回答 3

0

好吧,不知何故,我通过将项目移动到另一个目录来完成这项工作。

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

对于其他有同样问题的人,我在搜索 Godaddy 和干净 url 的问题时发现了大量示例。我希望它可以有所帮助。

感谢您的回答。

于 2013-06-10T08:02:38.393 回答
0

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

它不需要 mod_rewrite。只需在 .htaccess 顶部添加这一行:

DirectoryIndex index.html index.php

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

于 2013-06-10T01:24:21.897 回答
0

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

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

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

于 2015-06-03T23:09:58.813 回答