将带有查询字符串的URL重定向到像url一样的seo友好目录

时间:2014-07-31 14:20:38

标签: apache .htaccess mod-rewrite redirect seo

我知道许多用户都会问这个问题,我也经历了很多问题以找到解决方案,因为我无法理解htaccess文件中使用的代码。所以请帮助我解决这个问题。我只想转换如下链接:

  

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

到网址:

  

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

或喜欢:

  

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

我用Google搜索并找到了一个为您创建htaccess规则的网站,使用此网站我得到了这个:

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

但是这并没有重定向到上面的链接。 请帮助我找到解决方案,并帮助我了解它是如何工作的。谢谢!

1 个答案:

答案 0 :(得分:1)

您可以在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 Introduction

2。 http://askapache.com