在laravel中找不到url错误

时间:2015-12-28 09:23:48

标签: apache .htaccess laravel mod-rewrite laravel-5.1

我在ubuntu上使用带有新版本apache的Laravel 5,当我尝试访问该页面时:localhost它可以工作,如果我尝试localhost / index.php / my_page它可以工作,但如果我尝试localhost / my_page,它犯规。因此,通过搜索其他问题,我猜我的问题在于.htaccess文件。

根据我在网上看到的建议,我在laravel / public中将rewriteBase和Options + FollowSymLinks添加到了我的.htaccess:

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

      Options +FollowSymLinks
      RewriteEngine On
      RewriteBase /repos/kenrose/public

      # Redirect Trailing Slashes...
      RewriteRule ^(.*)/$ /$1 [L,R=301]

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

这就是我的apache2.conf文件看起来

    <Directory /repos/kenrose>
       Options Indexes FollowSymLinks
       AllowOverride All
       Require all granted
    </Directory>

我已经采纳了我对这个问题的所有建议。有什么问题?

2 个答案:

答案 0 :(得分:0)

试试这个:

<IfModule mod_rewrite.c>
<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]

尝试删除您的+FollowSymLinks部分,希望它能够正常运作。

答案 1 :(得分:0)

运行后

 a2enmod rewrite

在命令终端,一切都很好。 我不知道这是做什么的,或者问题是什么。