2011-07-07 15 views
0

ページ上で競合するクォート文字列に問題があります。 と website.com/photos/type/album-name/photo-id/htaccessリダイレクト競合の問題

website.com/photos/type/album-name/page-2/:インスタンスのページには、以下のように見えることができます

ここで問題となるのは、「ページ2」には1つのルールが適用され、フォトIDには別のルールが使用されることがわかるようにする方法がわかりません。

私が持っている

RewriteRule ^photos/([\w+.-]+)/([\w+.-]+)/([\w+.-]+)/?$ /photos.php?view=$1&slug=$2&page=$3 [QSA,L] 
RewriteRule ^photos/([\w+.-]+)/([\w+.-]+)/([0-9]+)/?$ /photos.php?view=$1&slug=$2&pid=$3 [QSA,L] 
+0

これらは、RewriteRuleが関係する唯一の2つのURIですか?そうであれば、書き換えはあまりにも曖昧で、2番目の書き換えは間違っているように見えます(最後に一致する桁のみ)。もしそれが2つのURIのためのものであれば、あなたの正規表現のチューンアップを提案することができます。 – arkigos

+0

@arkigos、これらはこのページの唯一の2つのシナリオです。ちょうどそれらの2つのURL。助言がありますか? –

答えて

1

代わりに、すべての可能なクエリ文字列に別の書き換えルールを持つのは、なぜあなたは一般的なリライトを持っていると、アプリケーションでクエリ文字列を処理しない、次の?

または、2番目のクエリのために、これを試してみてください。

RewriteRule ^photos/([\w+.-]+)/([\w+.-]+)/(page\-[0-9]+)/?$ /photos.php?view=$1&slug=$2&pid=$3 [QSA,L] 

あなたのURLは、次のようになり

website.com/photos/type/album-name/page-2/ - > 'page-'キーワードを使用します。

+0

それは私のためにそれをしました!ありがとう! –