Laravel Cleaner Url在ubuntu中的问题,如何解决?

时间:2014-06-19 11:18:35

标签: php .htaccess ubuntu laravel laravel-4

我正在使用laravel最新版本。我刚刚添加了一条新路线,但它没有用。

    Route::get('/about',function()
{
   return View::make('about'); 
});

当我键入localhost / index.php / about时,它开始工作。 所以我检查了一些他们建议编辑的文章.htaccess,我做了同样的事情。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

但它再次无效,所以我的配置文件中有一些更改。这是我的配置文件的内容。

    <VirtualHost *:80>
        ServerName sar.dev
        DocumentRoot "/var/www/laravel/public"
        <Directory "/var/www/laravel/public">
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
        </Directory> 
    </VirtualHost>

此方法也失败了。我正在研究ubuntu 13.10。有没有其他方法可以解决它?

1 个答案:

答案 0 :(得分:0)

继续我的评论。我注意到你使用的是修改后的.htaccess,它不是laravel的默认值。

使用.htaccess部分旁边的/尝试使用laravel默认index.php文件。

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

    RewriteEngine On

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

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

这个解决方案在遇到类似的错误时帮助了我,当进入/路由时,网站无法正常工作,并且必须按原样使用/index.php/route。