【发布时间】:2019-01-02 08:48:58
【问题描述】:
我有一个完全一样的 index.php
echo "<h2>index page</h2>";
$url=explode("/",$_SERVER['QUERY_STRING']);
echo "<pre>";
print_r($url);
print_r($_SERVER['QUERY_STRING']);
echo "</pre>";
另一个,在同一个文件夹中,profile.php,代码相同
echo "<h2>profile page</h2>";
$url=explode("/",$_SERVER['QUERY_STRING']);
echo "<pre>";
print_r($url);
print_r($_SERVER['QUERY_STRING']);
echo "</pre>";
我正在尝试使用干净的 url 构建一个非常简单的路由系统。 当url是这样的http://localhost/vas/aaa/bbb 我从 index.php 得到以下结果,没关系:
索引页面 大批 ( [0] => aaa 1 => bbb ) aaa/bbb
但是,当我输入这个:http://localhost/vas/profile/john/21,我在 url 中包含配置文件作为 url 的第一部分我得到这个:
个人资料页面 大批 ( [0] => )
这意味着没有我做任何类型的路由,运行 profile.php,结果是一个空的 url-array,没有 - 最重要的 - 预期的参数,例如约翰/21。 为什么会这样,路由作为功能嵌入在 php 7.* 中? 这是我的 .htaccess 文件:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?$1 [QSA,L]
【问题讨论】:
-
如果你要求mod_rewrite它的Apache问题,它与php任何版本无关。
标签: php clean-urls