是否可以使用.htaccess通过将所有六位数URL发送到脚本来处理它们,但是将每个其他无效URL作为错误404处理?
例如:
http://mywebsite.com/132483
将发送至:
http://mywebsite.com/scriptname.php?no=132483
但
http://mywebsite.com/132483a or http://mywebsite.com/asdf
将被处理为404错误.
我现在通过自定义PHP 404脚本工作,但它有点kludgy.在我看来,.htaccess可能是一个更优雅的解决方案,但我无法弄清楚它是否可能.
在您的htaccess文件中,输入以下内容
RewriteEngine On RewriteRule ^([0-9]{6})$ /scriptname.php?no=$1 [L]
第一行打开mod_rewrite引擎.()括号将内容放入$ 1 - successive()将填充$ 2,$ 3 ......等等.[0-9] {6}表示查找一个长度为6个字符的字符串,仅包含字符0-9.
最后的[L]使这成为最后一条规则 - 如果适用,规则处理将停止.
哦,^和$标记传入的uri的开始和结束.
希望有所帮助!