重写所有 URL

2023-11-29

我想重写类似的东西:

http//www.example.com/index.php?var1=val1&var2=val2&var3=val3

Into

http://www.example.com/var1/val1/var2/val2/var3/val3/

我正在寻找一种处理任意数量变量的解决方案。能做到吗?


看看这个问题:mod_rewrite 可以转换任意数量、任意名称的参数吗?

我的答案也可以用于您的情况:

$_SERVER['REQUEST_URI_PATH'] = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$segments = explode('/', trim($_SERVER['REQUEST_URI_PATH'], '/'));
for ($i=0, $n=count($segments); $i<$n; $i+=2) {
    $_GET[rawurldecode($segments[$i])] = ($i+1 < $length) ? rawurldecode($segments[$i+1]) : null;
}

以及相应的规则:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L]

此规则将无法映射到现有文件或目录的任何请求重写到index.php.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

重写所有 URL 的相关文章

随机推荐