【发布时间】:2015-09-01 08:11:49
【问题描述】:
我有以下 .htaccess 命令用于重定向 php 页面
RewriteRule ^(.*)$ index.php/$1 [L]
此代码在 localhost 中运行。它在 Web 服务器中不运行。但是当代码稍作修改时,它可以在服务器上运行。
RewriteRule ^(.*)$ index.php?/$1 [L]
为什么会这样?
【问题讨论】:
-
第一个 url 使用称为路径信息的东西。第二个 url 使用查询字符串。我假设您正在使用某种框架?
-
不,我正在为我的核心 php 项目进行 url 重写
-
当我更改了规则后,我必须使用 parse_url 函数,这样我就无法通过 $_GET 方法获取任何值
-
好吧,您没有将键值对作为查询字符串传递,因此
$_GET不包含任何有用的信息。如果你想使用?url=/$1,你可以使用$_GET["url"]。
标签: php apache .htaccess url-rewriting