使用查询字符串值将404s路由到PHP处理程序

时间:2014-12-04 21:57:41

标签: php apache asp-classic

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

基本上在唯一的网站上它可能会发出像test.asp这样的请求吗?id = 31231312& qs = 423434AFSDF434我们想把它路由到我们自己的test.php?id = 31231312& qs = 423434AFSDF434然后我们可以做其余的部分。有没有办法设置404重定向来捕获这个并在Apache中正确路由?路由它的简单方法的任何其他想法?

提前致谢。

1 个答案:

答案 0 :(得分:1)

我怀疑你想要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]