1

私はこのルールを持っています:

RewriteRule ^(panel|admin|site)/([A-Za-z0-9]+?)/(scripts|assets)/(.*)$ Project/$2/Public/$3/$1/$4 [L]

アイデアは、コードのモジュール内に存在するパブリックアセットへのアクセスを許可することです。唯一の問題は、命名スキームにタイトルケースが必要なことです(これは変更できないと仮定しましょう)。したがって、次のような要求があります。

/site/users/scripts/myscript.js

404を返しますが、:

/site/Users/scripts/myscript.js

動作します。

ケーシングの問題に対処するためにmod_spelingを使用しようとしましたが、mod_spelingは内部リダイレクトではなく完全リダイレクトを実行するため、エンドユーザーへのURLは次のように変更されます。

/Project/Users/Public/scripts/myscript.js

これは良くありません。これは、私のディレクトリ構造がいくらか公開されていることを意味し、これを通過させるために追加の書き換えルールが必要であることを意味します。

mod_rewriteの大文字化をより適切に、つまりRewriteMapを使用せずに処理する方法はありますか?(すべてを.htaccessに保持する必要があります)

または、内部リダイレクトを使用するようにmod_spelingを変更する方法はありますか?

4

1 に答える 1

0

mod_rewriteでの大文字化をより適切に、つまりRewriteMapを使用せずに処理しますか?

内部マッピング関数を使用して下げることができ、外部ファイルは必要ないように思われます。それとも私は何かが足りないのですか?

編集:ハッキーな答えは、最初の文字としてAZごとに26の書き換えルールであり、置換には小文字が使用されます...またはURLに表示される単語ごとのルール(ユーザーなど)

于 2010-09-06T15:50:37.350 に答える