使用查询string将urlredirect到url友好的目录,例如url

我知道这个问题是由很多用户问的,我也经历了很多问题来find解决scheme,因为我无法理解在htaccess文件中使用的代码。 所以,请帮助我解决这个问题。 我只是想转换一个链接,如:

www.abc.com/project.php?proj-cat=some+project+name

像url:

www.abc.com/project/some+project+name

或者喜欢:

www.abc.com/project/some-project-name/

我GOOGLE了,并find一个网站,为您创build一个htaccess的规则,使用这个网站我得到这个:

RewriteEngine on RewriteRule project/proj-cat/(.*)/ project.php?proj-cat=$1 [L] 

但是这不会redirect到上面的链接。 请帮我find解决scheme,并帮助我了解它是如何工作的。 谢谢!

您可以在root .htaccess中使用此代码:

 RewriteEngine On RewriteBase / # external redirect from actual URL to pretty one RewriteCond %{THE_REQUEST} \s/+project\.php\?proj-cat=([^\s&]+) [NC] RewriteRule ^ project/%1? [R=302,L,NE] # internal forward from pretty URL to actual one RewriteRule ^project/([^/.]+)/?$ project.php?proj-cat=$1 [L,QSA,NC] 

参考:1. Apache mod_rewrite介绍

2. http://askapache.com