htaccess避免获取vars(?和&字符)

时间:2018-07-14 00:26:27

标签: php .htaccess

我想避免吗?和URL中的&字符。

例如我的php文件是这样的:

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

然后,htaccess文件:

RewriteRule ^page1$ index.php?page=page1

我只想通过输入www.example.com/page1来授予用户访问权限,而不要通过输入www.example.com/index.php?page=page1来授予用户访问权限。

有什么办法做到吗?

谢谢

2 个答案:

答案 0 :(得分:1)

在顶部还有另一个301规则可将用户从您的旧网址重定向到新的漂亮网址:

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]

答案 1 :(得分:0)

示例:

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