Apache条件 - 基于查询字符串存在的不同重写

时间:2017-06-11 18:45:36

标签: apache .htaccess mod-rewrite

我有以下规则:

RewriteCond %{REQUEST_URI} ^/33\.php$ [NC]
RewriteRule ^33.php "/api.php" [NC,L]

我想将/33.php重写为/api.php,以及其他任何内容,例如/33.php?foo=bar,以获得404.我怎么能实现这一目标?感谢。

1 个答案:

答案 0 :(得分: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]