我希望有人使用我的网站在浏览器地址栏中查看site.com/contact,而不是site.com/index.php?page=contact。
我是mod_rewrite的新手,到目前为止,我已经接受了这个规则。
我现在的代码是:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?page=$1
我将如何做到这一点?
编辑: 问题是我的联系页面的网址仍然是:site.com/index.php?page=contact。
答案 0 :(得分:0)
最后一部分RewriteRule应如下所示:
RewriteRule ^(contact)/?$ index.php?page=$1
这意味着如果用户输入“mysite.com/contact”,他们实际上正在提供“mysite.com/index.php?page=contact”。
括号创建捕获组,转换为$1
。对于每个连续的括号,捕获组变量递增 - $2
,$3
,依此类推。