在获取请求时使用斜杠

时间:2016-02-03 23:44:03

标签: php html .htaccess web

我正在为我的网站处理错误系统(即,如果MySQL遇到错误,它会将它们发送到错误页面)。我想知道,是否可以使用"/"而不是"?err="作为网址?

我想要做的是将人们发送到网址"/error/404/",但在页面上显示网址"/error?err=404"。有没有办法用HTAccess或类似的东西来做到这一点?

我目前的方式是使用大量的文件和iframe,当你需要更新一个小东西时,它会变得非常烦人。

谢谢!

2 个答案:

答案 0 :(得分:1)

您正在寻找的是网址重写。您可以使用.htaccess文件进行设置,前提是您的apache安装已启用mod_rewrite(如果没有,请检查this question)。

Here是一个很好的教程,如何做到这一点。

答案 1 :(得分:0)

试试这个:

RewriteEngine on
RewriteRule ^error/(\d+)$ error?err=$1 [L,QSA]

这不应该在重定向循环中结束,因为这需要URI中的尾随数字。

请注意,我从模式和结果中删除了前导斜杠。 .htaccess样式文件适用于相对路径。

通常,您应该始终更喜欢将此类规则放在http服务器主机配置中,而不是使用.htaccess样式文件。这些文件非常容易出错,难以调试,确实会降低服务器速度。它们仅作为无权访问主机配置的用户的最后选项,例如使用廉价的托管服务提供商时。