使用.htaccess

时间:2015-11-08 19:37:03

标签: apache .htaccess mod-rewrite url-rewriting friendly-url

我目前正在尝试创建一个基本上将其转换为.htaccess的文件:

[来自] http://www.example.com/pagename.php?1=name&2=email&3=hash
[收件人] http://www.example.com/pagename/name/email/hash

然后可以在PHP中将其作为$name = $_GET[1]; $email = $_GET[2]读取,依此类推......

其中pagename等于没有文件扩展名的文件名,然后将每个尾部斜杠设置为一个递增1的新GET变量(理论上你可以定义无限制的斜杠,它会继续将这些$_GET个变量增加一个。

任何人都知道怎么做?

1 个答案:

答案 0 :(得分:1)

如果你想要有任意数量的变量,你需要打开 Multiviews ,然后在php脚本中添加一些代码来查看$_SERVER['PATH_INFO']变量。所以像这样:

$data = explode("/",trim($_SERVER["PATH_INFO"],"/"));

$length = count($data);
for ($i = 1; $i <= $length; $i++) {
  $_GET[$i] = $data[$i-1];
}

使用所有路径元素填充$_GET变量。

然后在htaccess中,你需要这样的东西来附加php扩展名:

RewriteEngine On

RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^([^/]+)(/.+)$ /$1.php$2 [L]