PHP / Apache - 构建不同的URL,可以完成吗?

时间:2012-05-31 19:25:35

标签: php mod-rewrite

我正在研究如何构建不同的URL,我想知道是否有可能替换PHP在URL中使用的查询字符串/问号符号'?'变成别的什么?例如感叹号'!'

www.example.com!富= 1

这可能吗?

2 个答案:

答案 0 :(得分:0)

当然,但您需要重写规则来告诉服务器如何为它们提供服务。并且PHP不会自动为它们解析它们,所以$ _GET / $ _ POST / $ _ REQUEST变量将不会被设置,你必须自己从$ _SERVER ['REQUEST_URI']解析它们。

答案 1 :(得分:0)

您不必为此使用mod_rewrite,因为您仍然可以使用$ _SERVER [“PATH_INFO”]或$ _SERVER [“REQUEST_URI”]来解释网址,具体取决于您的配置。把它分开吧!使用explode并使用parse_str进行解析。如果这是有道理的,那是你的决定。

您应该能够通过htaccess替换它,但我无法测试它,因为我没有运行atm的apache。必须是这样的。

RewriteEngine on
RewriteBase /
RewriteRule ^!(.*)$ http://domain.com/?$1 [R,NC]

如果此方法有效,请从规则中删除“R”。