2009-07-27 16 views
0

私の.htaccessファイルに以下のルールが定義されています。htaccessルールの競合ですか?

RewriteRule t/([^.]+)/$ /video/tag.php?tag=$1 [QSA] 

このルールは、タグページでうまくいきます。私がhttp://example.com/video/t/funny/としてURLにアクセスしているときに、タグが面白いすべての結果が表示されます。

しかし、私がURLにアクセスしているときhttp://example.com/video/script/common/video.phpタグタグを含むタグページを表示すると、タグ共通のタグが表示されます。私は、URLと.htaccessルールの間にいくつかの矛盾があると思います。

これは、/t/common/を取得し、これにhtaccessルールを適用しています。この問題を解決するには?

答えて

2

書き換えルールが問題の文字列と一致しています。あなたはこのようになり、それを変更したい:

RewriteRule ^/video/t/([^.]+)/$ /video/tag.php?tag=$1 [QSA] 

基本的には、何が起こっていることは、あなたのルールのSTARTを指定していなかったので、それはあなたのURLにある「スクリプト」の末尾にマッチして取っていたということですそこから離れて。

RewriteRule /t/([^.]+)/$ /video/tag.php?tag=$1 [QSA] 
+0

私は追加してい 'のRewriteRule^/ビデオ/トン/([^.]+)/$ /video/tag.php:あなたはあまり特定の文字列をしたい場合は

は、これを試してみてください? tag = $ 1 [QSA] 'rulは、フォルダー' video'の私の.htaccessファイルにあり、404ページにエラーが見つかりませんでしたか? – Prashant

+0

他のルールを試してみてください。私が置く最初のルールは、あなたのドメインのルートで一番うまくいくでしょう。 –

+0

はい、最初はmaアプリケーションのルートで最もうまくいきます。しかし、私のビデオフォルダのhtaccessでルールを動作させるために、私は 'RewriteRule^t /([^.]+)/$/video/tag.php?tag=$1 [QSA]'を追加してくれました。ありがとう – Prashant

関連する問題