将带有查询字符串值的 404 路由到 PHP 处理程序


Routing 404s with querystring values to PHP handler

我正在接管一个用ASP构建的网站,并为一堆第三方应用程序提供端点。我们正在迁移到基于 PHP 的站点,但我们必须考虑这些端点。

基本上在唯一的站点上,它可能会发出类似test.asp?id=31231312&qs=423434AFSDF434的请求,我们希望将其路由到我们自己的test.php?id=31231312&qs=423434AFSDF434,然后我们可以做剩下的。有没有办法设置 404 重定向来捕获此问题并在 Apache 中正确路由?还有其他关于简单路由方法的想法吗?

提前谢谢。

我怀疑你想要一个 404(找不到)?您可能想要 301(永久重定向)?

首先确保启用了mod_rewrite模块,然后将其粘贴到.htaccess文件中:

RewriteEngine On
RewriteBase /
RewriteRule ^test.asp$ test.php [R=301]

如果您希望将任何 asp 重定向到其 php 对应项,那么:

RewriteEngine On
RewriteBase /
RewriteRule ^(.*).asp$ $1.php [R=301]

根据评论的示例:

文件夹中特定文件的规则:

RewriteRule ^folder1/test.asp$ folder1/test.php [R=301]

将不同的 asp 文件重定向到同一个 php 文件:

RewriteRule ^test.asp$ test.php [R=301]
RewriteRule ^test2.asp$ test.php [R=301]
RewriteRule ^folder1/test.asp$ test.php [R=301]

不确定是否需要,但...将所有 ASP 文件重定向到单个 PHP 文件:

RewriteRule ^.*.asp$ test.php [R=301]