htaccess RewriteRule没有按预期工作

时间:2015-10-04 07:22:55

标签: regex apache .htaccess mod-rewrite

我正在用PHP制作一个类似网站的博客。所以我必须重写我的网址。 我有两个网址:

  

/post.php?name=something&slug=somethingElse

  

/tutorial.php?name=something

所以我想像

一样重写它
  

/后/东西/ somethingElse

第二个

  

/教程/东西

所以我在.htaccess中使用了以下几行:

RewriteEngine on

RewriteRule ^(.+)/(.+)[/]?([.+]?)$ $1.php?name=$2&slug=$3

但它并没有像我期望的那样工作......尝试了Google和Stack的答案,但这并没有帮助。

1 个答案:

答案 0 :(得分:1)

在你的网站root .htaccess:

中这样做
RewriteEngine on

RewriteRule ^([\w-]+)/([\w-]+)/?$ $1.php?name=$2 [L,QSA]

RewriteRule ^([\w-]+)/([\w-]+)/([\w-]+)/?$ $1.php?name=$2&slug=$3 [L,QSA]

Reference