2016-06-19 10 views
1
<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-l 

    RewriteRule ^viewuserimage/(.*) index.php?viewuserimage=$1 [L] 
    RewriteRule ^(.*)$ index.php?page=$1 [L,QSA] 


</IfModule> 

ここに私の.htaccessファイルがあります。私は次のルールを処理せずに、viewuserimage /で始まるすべてのリクエストをindex.php?..に書き直したいと思います。私はmod_rewrite特定のルールの後に処理を停止します。

/viewuserimage/test 

を渡す場合には出力:

index.php?page=index.php&viewuserimage=test 

答えて

1

を、私はあなたがviewuserimageルールを実行するとき、それは再び.htaccessファイルと左があるだけで、ルールがトリガされますので、あなたは、index.php?viewuserimage=$1を呼び出し、問題を発見しました最後のものなので、連結されます。

私は2つのソリューションにあなたを与えることができます。

FIRST ONE

変更をこの

RewriteRule ^viewuserimage/(.*) index.php?viewuserimage=$1 [L]

RewriteRule ^viewuserimage/(.*) index.php?viewuserimage=$1 [END]

[END]フラグが停止します。これは、Perma exitのように、[L]と等しくありません。 More info

SECOND ONE

変更し、このルール

RewriteRule ^(.*)$ index.php?page=$1 [L,QSA]

このルールで

RewriteRule ^(page1|page2|page3|pageAllowed)$ index.php?page=$1 [L,QSA]

に、あなたはとてもこれだけは一致して、ページが許可されている伝えますそしてに行くindex.php?page=$1

+0

悲しいかなか働いていない – Chrisstar

+0

今何ですか?新しい回答 – matiaslauriti

+0

あなたはREQUEST_FILENAME条件を意味しますか?そうしても動作しません。 – Chrisstar

関連する問題