Laravel 5 - URL重写和CSS冲突

Laravel 5 - URL Rewriting and CSS conflict

我的 Laravel 5 中用于 URL 重写的 .htaccess 和我的 CSS 文件之间存在问题。首先,这是我的项目树:

我的 public 文件夹中有一个 .htaccess,如图所示。这是我的 .htaccess 的内容:

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

    RewriteEngine On

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

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
</IfModule>

这是我用来删除 URL 中的 "index.php" 的代码。例如,http://localhost/mySite/public/index.php/about 变为 http://localhost/mySite/public/about

现在,我有一个母版页(在 /resources/views/ 中),在这个母版页中,我想引用位于 /public/css/style.css 中的 css 文件。我在母版页中添加了这段代码:

<link rel='stylesheet' href="{{ URL::asset('css/style.css') }}" >

这不适用于当前的 htaccess,但如果我在我的 htaccess 中注释行 RewriteRule ^ index.php [L] 并访问 URL(使用 "index.php"),样式表将被很好地引用。我想我必须在 htaccess 中添加另一行,但我不知道我必须添加什么。

我希望你能帮助我,不要犹豫,询问更多细节。谢谢。

为什么要更改 default .htaccess

应该是这样的:

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

    RewriteEngine On

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

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

两个 RewriteCond 阻止将文件请求路由到 Laravel。但它们必须 之前 RewriteRule 才有效。