2017-10-05 11 views
0

私は私のhtaccessファイルに次の行を持っている...1つのhtaccessリダイレクトは機能しますが、まったく同じ形式になっていても、他のものは動作しません。

RewriteRule ^poolpage.php?poolid=9f30d1c77b91aca6318d179ad5df2b7 /poolpage.php?poolid=9f30d1c77b91aca6318d179ad5df2b7a [NC,L] 
RewriteRule ^poolpage.php?poolid=c4899d49e0a26b47bb5d3fd85f2c429a /poolpage.php?poolid=c4899d49e0a26b47bb5d3fd85f2c429 [NC,L] 

注:両方での唯一の違いは、各URLの最後の文字です。

最初のものは正常にリダイレクトされます。 2番目のものはありません。

これはどのように起こる可能性がありますか?

+0

access_logには何が記載されていますか? – LordNeo

+0

はその存在を知らなかった。それをグーグルし、生のアクセスログをダウンロードし、それを見ることができるように7zipをインストールしました。それは大きなファイルですが、特定のID(例:9f30d1c77b91aca6318d179ad5df2b7a)を検索したため、どこにも見つからなかったため、このリダイレクトに関連するアクセスログには何もありません。 – user3304303

+0

リンクにアクセスするときに何かが表示されるはずです。単純な "200 OK"応答(リンクを提供しているサーバー)か、代わりにファイルが配信されたことを示すリダイレクトになります。多分あなたが共有ホスティングにいるなら、access_logにはある種の遅延があります。生のaccess_logファイルを探してみてください。 – LordNeo

答えて

2

RewriteRuleにクエリ文字列をテストすることはできません。代わりに使用:

RewriteCond %{QUERY_STRING} (?:^|&)poolid=9f30d1c77b91aca6318d179ad5df2b7(?:&|$) [NC] 
RewriteRule ^poolpage\.php$ /poolpage.php?poolid=9f30d1c77b91aca6318d179ad5df2b7a [NC,L] 

RewriteCond %{QUERY_STRING} (?:^|&)poolid=c4899d49e0a26b47bb5d3fd85f2c429a(?:&|$) [NC] 
RewriteRule ^poolpage\.php$ /poolpage.php?poolid=c4899d49e0a26b47bb5d3fd85f2c429 [NC,L] 
関連する問題