Options +FollowSymLinks RewriteEngine on RewriteRule page/(.*)/ index.php?page=$1&%{QUERY_STRING} RewriteRule page/(.*) index.php?page=$1&%{QUERY_STRING}
如果我想通过URL传递一个变量,那么我必须写为“xyz.in/page/home?值=1“或”xyz.in/page/home?value=1&value2=56&flag=true“
url的起始部分(xyz.in/页面/主页)是干净的(搜索引擎友好),但如果我在url中传递更多的变量,那么它看起来就不好看了。
"xyz.in/page/home/value/4/value2/56“等等。
有可能这样做吗?
(欢迎对本问题中使用的标题、语言或标签进行任何更正)
谢谢
最简单的方法是用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]); }