0

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

www.example.com!foo=1

这可能吗?

4

2 回答 2

0

当然可以,但是您需要重写规则来告诉服务器如何为它们提供服务。而且 PHP 不会为您自动解析它们,因此 $_GET/$_POST/$_REQUEST 变量不会被设置,您必须自己从 $_SERVER['REQUEST_URI'] 解析它们。

于 2012-05-31T19:39:57.807 回答
0

您不必为此使用 mod_rewrite,因为您仍然可以根据您的配置使用 $_SERVER["PATH_INFO"] 或 $_SERVER["REQUEST_URI"] 解释 url。只需在 ! 用爆炸并用parse_str解析它。如果这有意义,这是您的决定。

您也应该可以用 htaccess 替换它,但我无法测试它,因为我没有运行 atm 的 apache。一定是这样的。

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

如果可行,请从规则中删除“R”。

于 2012-05-31T19:55:31.353 回答