我在.htaccess文件中编写了以下代码
Options +FollowSymLinks
RewriteEngine on
RewriteRule page/(.*)/ index.php?page=$1&%{QUERY_STRING}
RewriteRule page/(.*) index.php?page=$1&%{QUERY_STRING}
url "xyz.in/index.php?page=home“在浏览器"xyz.in/page/home”的地址栏中如下所示
如果我想通过URL传递一个变量,那么我必须写成"xyz.in/page/home?value=1“或"xyz.in/page/home?value=1&value2=56&flag=true”
url的初始部分(xyz.in/page/home)是干净的(搜索引擎友好),但是如果我在url中传递更多的变量,那么它看起来就不好了。
我想让这个url像"xyz.in/page/home/value/4/value2/56“等等。
变量value和value2不是静态的,它们只是在这里使用。名字可以是任何东西。
有可能做到这一点吗?
请帮我形成".htaccess“文件
(欢迎对此问题中使用的标题、语言或标签进行任何更正)
谢谢
发布于 2009-12-28 10:42:48
最简单的方法是用PHP解析URL路径。然后,您只需要此规则就可以将请求重写到PHP文件中:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule !^index\.php$ index.php [L]
该条件将确保仅重写对不存在的文件的请求。
您的PHP脚本可能如下所示:
$_SERVER['REQUEST_URI_PATH'] = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$segments = explode('/', ltrim($_SERVER['REQUEST_URI_PATH']));
for ($i=0, $n=count($segments); $i<$n; $i+=2) {
$_GET[rawurldecode($segments[$i])] = rawurldecode($segments[$i+1]);
}
https://stackoverflow.com/questions/1968859
复制相似问题