【发布时间】:2011-03-03 10:32:09
【问题描述】:
我正在尝试做的事情:
具有“http://domain.tld/one/two/three”格式的漂亮 URL,由 PHP 脚本 (index.php) 通过查看 REQUEST_URI 服务器变量来处理。
在我的示例中,REQUEST_URI 将是“/one/two/three”。 (顺便说一句,这是一个好主意吗?)
我正在使用 Apache 的 mod_rewrite 来实现这一点。
这是我在 .htaccess 中使用的 RewriteRule:
重写规则 ^/?([a-zA-Z/]+)/?$ /index.php [NC,L]
到目前为止,这非常有效;它将每个由 a-z、A-Z 或“/”组成的 REQUEST_URI 转发到 /index.php,在那里进行处理。
唯一的缺点:'?' (问号)和“#”(哈希键)似乎仍然允许在 REQUEST_URI 中使用,甚至可能还有更多我还没有找到的字符。
是否可以通过我的 .htaccess 和对 RewriteRule 的充分补充来限制这些?
谢谢!
【问题讨论】:
标签: php apache mod-rewrite