我的 .htaccess 看起来像这样-
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteRule ^auth\.php$ - [L]
RewriteRule ^static - [L]
RewriteRule (.*) router.php [L]
</IfModule>
它基本上确保所有请求都路由到 router.php(auth.php 和静态文件夹除外)
现在的问题是,每当我发布表单时,mod_rewrite 都会强制将 HTTP POST 路由到 router.php。
如何确保 HTTP POST 不会路由到 router.php?
最佳答案
您可以根据 apache 服务器提供的不同内容(例如请求方法或主机)制定重写条件。该指令称为 RewriteCond
.只有满足一个或多个条件的请求才会被重写。
RewriteCond %{REQUEST_METHOD} !POST
RewriteRule .* router.php [L]
%{REQUEST_METHOD}
是包含请求方法的服务器变量。 List of methods .
关于php - 如何防止 mod_rewrite 处理 HTTP Post 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8541932/