我已经对如何使用 htaccess 重写我的 url 以获得 SEO 友好的 url 进行了一些研究,但我有一个问题:
当我从 index.php?news=1 重写为 /news/1 时我$_GET['news']
还能工作吗?我似乎找不到对此的解释。在我开始将它实施到我的网站之前,我想确定一下。
谢谢!
是的,这将按预期工作。
具体来说,mod_rewrite
关于现有查询字符串的行为可能令人惊讶。例如,让我们采用以下规则,它会转换您提供的 URL:
index.php?news=1 to /news/1
页面名称可以通过$_GET['news']
.
当我从 index.php?news=1 重写为 /news/1 我的 $_GET['news'] 仍然有效吗?
是的。$_GET['news']
已设置,因为您已硬编码news=1
到重写的查询字符串中。
如果您有其他查询参数,则取决于. 如果您使用了QSA
(query string append) 标志,那么yes,否则$_GET['param']
不会在 URL 中设置:
/news/1?param=2