在我的htaccess中使用重定向来传递变量

时间:2013-05-29 21:13:32

标签: .htaccess mod-rewrite

我有一个像

的网址
http://www.example.com/search.php?search=qualified

我需要它重定向到

http://www.example.com/scrabble-dictionary/word/qualified

我试过

Redirect 301 /search.php?search=qualified http://www.example.com/scrabble-dictionary/word/

在我的htaccess文件中但产生了网址

http://www.example.com/scrabble-dictionary/word/?search=qualified

如何重写以重定向到我想要的网址?

1 个答案:

答案 0 :(得分:0)

使用mod_rewrite来获得更好的控制。

通过httpd.conf启用mod_rewrite和.htaccess,然后将此代码放在.htaccess目录下的DOCUMENT_ROOT中:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+search\.php\?search=([^\s]+) [NC]
RewriteRule ^ /scrabble-dictionary/word/%1? [R=302,L]

验证一切正常后,将R=302替换为R=301。在测试mod_rewrite规则时,请避免使用R=301(永久重定向)。