在我的PHP代码中添加重写规则

时间:2014-08-10 22:19:20

标签: php .htaccess mod-rewrite

我无法找到令人满意的答案,而且我对重写规则非常了解,但却找不到实现这一目标的方法。我想剪一下我地址的某一部分:

/entry.php?id=howdy-world

所以,我希望它看起来像这样:

/entry/howdy-world/

我知道如何指向默认文件,或者在尾部斜杠后重写获取值变为数字,但是要修剪的部分在中间。如何处理?

1 个答案:

答案 0 :(得分:1)

以下是如何从一个网址转发到另一个网址的基本语法。以下有几节

  • ([^ /] +):这会多次匹配任何字符,直到斜杠。 ex:entry / howdy-world /
  • $ 1 :这将采用entry/之后的内容并将其附加到所需的网址。 ex:entry.php?id = howdy-world

有关重写的更多信息,请参阅Apache website


 RewriteEngine On
 RewriteRule ^entry/([^/]+)$ entry.php?id=$1 [L]

 # Variations of above rule depending on server setup
 # RewriteRule ^entry/(.+)$ /entry.php?id=$1 [L]
 # RewriteRule ^entry/(.+)$ http://www.example.com/entry.php?id=$1 [L]