我正在为我的网站处理错误系统(即,如果MySQL遇到错误,它会将它们发送到错误页面)。我想知道,是否可以使用"/"
而不是"?err="
作为网址?
我想要做的是将人们发送到网址"/error/404/"
,但在页面上显示网址"/error?err=404"
。有没有办法用HTAccess或类似的东西来做到这一点?
我目前的方式是使用大量的文件和iframe,当你需要更新一个小东西时,它会变得非常烦人。
谢谢!
答案 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
样式文件。这些文件非常容易出错,难以调试,确实会降低服务器速度。它们仅作为无权访问主机配置的用户的最后选项,例如使用廉价的托管服务提供商时。