代码之家  ›  专栏  ›  技术社区  ›  sundowatch

htaccess避免get vars(?)和字符)

  •  -1
  • sundowatch  · 技术社区  · 6 年前

    我想避免?以及URL中的字符。

    例如,我的php文件如下:

    <?php 
    $_GET["page"] = "page1";
    ?>
    

    还有,htaccess文件:

    RewriteRule ^page1$ index.php?page=page1
    

    我只想通过键入www.example.com/page1而不是键入www.example.com/index.php来访问用户?页码=第1页。

    有什么办法可以做到吗?

    谢谢

    2 回复  |  直到 6 年前
        1
  •  1
  •   anubhava    6 年前

    再来一杯 301 最重要的规则是将用户从旧的url重定向到新的漂亮url:

    RewriteEngine On
    
    # external redirect from actual URL to pretty one
    RewriteCond %{THE_REQUEST} \s/+index\.php\?page=([^\s&]+)\s [NC]
    RewriteRule ^ /%1? [R=301,L,NE]
    
    RewriteRule ^page1/?$ index.php?page=page1 [L,QSA,NC]
    
        2
  •  0
  •   Ronohx    6 年前

    例子:

    RewriteRule ^page/([0-9]+)? index.php?page=$1 [L]