Laravel路线& .htaccess文件无法在1and1托管上工作

时间:2015-02-25 12:14:05

标签: php apache .htaccess laravel routes

我的客户最近从1and1.com托管公司购买了linux 1& 1无限套餐。我在Laravel 4.2框架中为他构建了应用程序。该应用程序在我的本地计算机上以及在我自己的VPS上运行得非常好。但是当我在客户端主机上设置文件时,看起来.htaccess文件无效。这就是为什么,laravel路由不起作用,我在尝试访问网站的不同路由时不断收到404错误消息。

我已经对这个问题进行了很多研究,发现很多人都遇到了同样的问题,却找不到解决这个问题的真正方法。

这是.htaccess代码:

<IfModule mod_rewrite.c>
  Options -MultiViews
  RewriteEngine On

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

我正在使用Laravel 4.2

3 个答案:

答案 0 :(得分:12)

我在1&amp; 1托管解决方案上遇到了同样的问题。我建议添加:

RewriteBase /

对我有用。

一切顺利, 中号

答案 1 :(得分:2)

我使用Laravel 5.2,谢谢,它对我也有用,谢谢 我将RewriteBase添加到我的.htaccess文件

<IfModule mod_rewrite.c>
    RewriteBase /
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

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

答案 2 :(得分:0)

这对我有用,只是以下内容在我的.htaccess

RewriteBase /

Options +FollowSymLinks
RewriteEngine On

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