2017-06-11 6 views
1

I持って、次のルール:Apacheの条件 - クエリ文字列の有無に基づいて、異なる書き換え

私はどのように404を取得するために /api.php/33.php、それ以外のもの、など /33.php?foo=barを書き換えたい
RewriteCond %{REQUEST_URI} ^/33\.php$ [NC] 
RewriteRule ^33.php "/api.php" [NC,L] 

私はそれを達成することができますか?ありがとう。

+0

私の答えジョージを受け入れてくれてありがとう。私はあなたが新しいことに気づき、それを受け入れるためのティックの横にある上向きの矢印を使って回答をアップアップすることができるほどの評判を得ていることを知りたいと思っています。これは、答えを出したユーザーにもう少し評判(+10)を与え、あなたがそれを承認したことを示します。 – SuperDuperApps

答えて

1

以下のようにすることができます。クエリ文字列は、それ自身の変数にあります。

# Rewrite /33.php with no query string to /api.php 
RewriteCond %{QUERY_STRING} ^$ 
RewriteRule ^33\.php$ /api.php [NC,L] 

# Return 404 for /33.php?anything 
RewriteRule ^33\.php$ - [NC,R=404,L] 
関連する問題