-1

我希望使用我网站的人在浏览器地址栏中看到 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

我将如何做到这一点?

编辑:问题是我的联系页面的 URL 仍然显示:site.com/index.php?page=contact。

4

1 回答 1

0

最后一部分,RewriteRule,应该是这样的:

RewriteRule ^(contact)/?$ index.php?page=$1

这意味着如果用户键入“mysite.com/contact”,他们实际上正在被提供“mysite.com/index.php?page=contact”。

括号创建捕获组,转换为$1. 对于每个连续的括号,捕获组变量递增 - $2$3等。

于 2013-02-22T03:59:36.420 回答