2012-01-05 11 views
0

を存在するパスをmod_rewriteはように見えることはできません:は、実際に私は次のように書き換えたい

RewriteRule ^abc([.]*)$ /abc.py$1

ABCがディレクトリでない場合、これは動作します。私。 http://eg.com/abcはabc.pyページを表示しますが、mkdir abcがルートにある場合、http://eg.com/abcは実際にはabcディレクトリの内容を表示します。

/abcがディレクトリの場合は、ファイルの書き換えを/abc.pyにするにはどうすればよいですか?それだけで正常に動作します私にとって

RewriteRule ^abc(.*)$ /abc.py$1 [R] 

+0

これはwebmasters.stackexchange.com – ninesided

+0

に属しているかもしれません。それが本当であれば、これらの4146の質問もそうです:http://stackoverflow.com/search?q=mod_rewrite – Olhovsky

+0

あなたは大丈夫です – ninesided

答えて

0

たぶん、代わりにこれを試してみてください。
[R]とすると、結果がより簡単に表示されます。
また、RewriteRuleの前に.htaccessファイルにRewriteBase /を追加することもできます。

私はちょうどの代わりに[。]を使用しました。私は書き直し作業をまったく行うことができませんでしたので、あなたの問題を正確に再現することはできませんでしたが、これは助けになると思います。

+0

'[R]'はリダイレクトを引き起こします。これは私が望むものではありません。私は、eg.com/abc.pyではなく、eg.com/abc'であることを続けてほしい。何らかの理由で '.'が私のために働かないので、' [。] 'を使う必要があります。 – Olhovsky

+0

ええ、しかし、[R]のデバッグは素晴らしいです。あなたが周りを遊んでいる間に結果を "見る"からです。完了したらすぐに削除することができます。 :)私はなぜあなたが私のためではなく、あなたのために働くのか、そしてその逆であるのか、私はあなたが名前を持つフォルダーを持つときと同じ問題を抱くことがないのか分かりません。 :/ /申し訳ありませんが、私はエラーを再現できないときは、はるかに使用することはできません。 –

+1

さて、ルールは[R]で "働く"が、[R]ではないわけではありません。したがって、この場合はデバッグにはあまり役立ちません。とにかくありがとう :) – Olhovsky

関連する問題