.htaccess的简单漂亮网址

时间:2020-05-20 17:03:10

标签: php .htaccess

我有一个单页博客php网站。 内容是根据get参数动态加载的。我想用我的htaccess做漂亮的网址。我有这些网址:

website.com/index.php?category=review&page=1

我想要这个:

website.com/category/review/page/1

我也使用article作为get参数。所以我想改变一下:

website.com/index.php?article=12345-name-of-article

对此:

website.com/article/12345-name-of-article

我对htaccess完全陌生,因此将不胜感激。

我尝试了以下重写规则: RewriteRule ^article/([0-9a-zA-Z_-]+)$ index.php?article=$i [NC,L]。 它以某种方式起作用,但是php脚本无法识别url参数。因此它不起作用。

非常感谢您!

1 个答案:

答案 0 :(得分:1)

您需要使用QSA-当替换URI包含查询字符串时,RewriteRule的默认行为是丢弃现有查询字符串,并将其替换为新生成的查询字符串。使用[QSA]标志会使查询字符串组合在一起。 :

RewriteEngine On

RewriteRule ^article/([\w-]+)(?:\.html|/)?$ index.php?article=$1 [NC,QSA,L]

RewriteRule ^category/([\w-]+)/page/([\w-]+)(?:\.html|/)?$ index.php?category=$1&page=$2 [NC,QSA,L]