4

静的ファイル (js/css/images) を書き換えないように htaccess ファイルを取得しようとしています。

これは私の現在のhtaccessファイルです:

RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule    !\.(jpg|css|js|gif|png)$    public/    [L]
RewriteRule !\.(jpg|css|js|gif|png)$ public/index.php?url=$1

どう書き直せばいいですか?

4

3 に答える 3

14
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^.*\.(jpg|css|js|gif|png)$ [NC]
RewriteRule ^(.*)$ public/index.php?url=$1

リストされた拡張子 (大文字と小文字を区別しない一致) で終わらない存在しないファイルへのすべての要求はpublic/index.php、現在の URL をurl=GET 引数として渡すように書き換えられます。

于 2012-11-18T11:44:15.820 に答える
6

これは、その下の 1 行に対してのみ機能します。したがって、多数の RewriteRules がある場合は、次のようなものを使用すると役立ちます。

    RewriteEngine on

    RewriteRule ^(.*?)\.(php|css|js|jpg|jpeg|png|pdf)$ - [L]
    RewriteRule ^(.+)/(.+)/?$ index.php?page=$1&subpage=$2 [L]
    RewriteRule ^(.+)$ index.php?page=$1 [L]
于 2015-04-09T21:16:00.623 に答える