代码之家  ›  专栏  ›  技术社区  ›  Gaurav Sharma

如何创建以下.htaccess文件

  •  0
  • Gaurav Sharma  · 技术社区  · 16 年前

    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“等等。

    有可能这样做吗?

    (欢迎对本问题中使用的标题、语言或标签进行任何更正)

    谢谢

    1 回复  |  直到 16 年前
        1
  •  1
  •   Gumbo    16 年前

    最简单的方法是用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]);
    }
    
    推荐文章