0

.css および .js ファイルに対するすべての要求もリダイレクトせずに、この RewriteRule をどのように表現すればよいかわかりません。

私は欲しい

domain.com/randomfolder/

要求されたフォルダーのドメインのインデックス (つまり、domain.com/index.php) に移動しますが、URL はそのままにします。

簡単に思えますが、ディレクトリの最初のインスタンスのみをリダイレクトするように指定することはできません。

例えば:

RewriteRule ^(.*)$ index.php

リダイレクトするように動作しますが、私の index.php が /css/main.css を呼び出すと、index.php が返されます。

domain.com/subdirectory/はリダイレクトする必要がありますが、domain.com/ subdirectory/file.css はリダイレクトしないようにする方法はありますか?

/css/ および /js/ ディレクトリを除外するだけで問題ありませんが、方法がわかりません。

4

2 に答える 2

0
RewriteRule ^([^/]+)/?$ /index.php?folder=$1 [L]

これにより、訪問者に表示される URL を変更せずにリダイレクトさwww.example.com/subdirectory/れます。www.example.com/index.php?folder=subdirectoryサブディレクトリ内の特定のファイルに対する要求をリダイレクトしたり、サブディレクトリ内のサブディレクトリに対する要求をリダイレクトしたりしません。

URL Requested:                Redirect:
--------------------------------------------------------------------
example.com/css               example.com/index.php?folder=css
example.com/css/              example.com/index.php?folder=css
example.com/css/main.css      example.com/css/main.css (no redirect)
example.com/css/js/           example.com/css/js/      (no redirect)
于 2013-09-19T20:16:15.460 に答える
0

これはあなたのために働くはずです:

<Files ~ "\.(css|js)$">
    RewriteRule ^subdirectory(.*)$ index.php
</Files>
于 2013-09-19T20:18:58.583 に答える