2016-06-14 18 views
2

をindex.htmlにするために、すべての/何か、私は次のパターンのすべてのURLを書き換えしようとしている:ルートレベルの http://example.com/csfdg/anything http://example.com/csfdg/index.htmlmod_rewriteの

私の.htaccessファイルには、これを含んでいます

Options +FollowSymLinks 

RewriteEngine On 
RewriteRule \/csfdg\/.* /csfdg/index.html [L] 

チェッカーのhttp://htaccess.madewithlove.be/は、私の望むようにURLを書き換えると言いますが、http://example.com/csfdg/anythingに行くと、私はただ404が得られます。何が起こっているのかは分かりませんが、RewriteEngineが働いていることはわかっています。十分に私は500エラーを得ることができます混乱oが発生します。

どのような考えですか?

RewriteEngine on 
RewriteCond %{REQUEST_URI} !index\.html$ 
RewriteRule ^([^/]+)/.+$ /$1/index.html [L] 

RewriteConditonは、それ自体に/foo/index.htmlを書き換え避けるために、ここで重要なのは:ありがとう

+1

ルール内で何かをエスケープする必要はなく、最初のスラッシュは必要ありません。代わりに 'csfdg /.*'を使用してください。もっと良い方法は、 '^ csfdg /'を使うことです。 –

答えて

3

あなたはこれを使用することができます。

+1

ありがとう、私はこれを書き直す必要がなかったいくつかのリソースディレクトリを除外するためにもう少し手間をかけて、私のために働いた。 – Nick