使用mod_rewrite清理网址

时间:2010-12-05 04:15:34

标签: php mod-rewrite

我如何转换此网址

www.domain.com/post.php?view=36&title=slug-of-post-title

进入干净的网址

www.domain.com/36-slug-of-post-title

请帮助我,如果您知道我可以在哪里更好地了解mod_rewrite,请提供网站地址

谢谢

3 个答案:

答案 0 :(得分:0)

这应该做:

RewriteEngine On
RewriteRule ^(\d+)-(.*)$ post.php?view=$1&title=$2 [QSA,L]

答案 1 :(得分:0)

mod_rewrite是Apache的一项功能。其他Web服务器也存在类似的模块,例如lighttpd,nginx,tornado等。像往常一样,RTM适用于此:

http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html

对于您询问的网址,您可能需要执行以下操作:

RewriteEngine On

RewriteBase   /

#  now the rewriting rules
RewriteRule   ^([0-9]+)-(.*)$  post.php?view=$1&title=$2 [QSA,L]

上述规则的作用是匹配您域中以/开头的任何网址(请参阅RewriteBase),然后至少跟一个数字(([0-9]+)),后跟任何内容,到相应的位置。

有关mod_rewrite的更多信息,请参阅上面的链接。

答案 2 :(得分:0)

RewriteEngine On

RewriteRule ^([0-9] +) - (。*)$ / postt.php?view=$1&title=$2 [QSA,L]

http://www.4webhelp.net/tutorials/misc/mod_rewrite.php