htaccess:将/filename.asp?FOO替换为/ new / folder / FOO

时间:2014-01-17 01:25:13

标签: asp.net apache .htaccess mod-rewrite redirect

我正在尝试创建301 .htaccess重定向,并且很难弄清楚如何正确地重定向/重写。

例如,这是原始网址: http://domain.com/filename.asp?abc

现在想要:http://domain.com/new/folder/abc

如何?

我唯一能做的就是:

RewriteCond %{QUERY_STRING} abc$ 
RewriteRule (.*) /new/folder/abc? [R=301,L]

但这样效率不高,只针对后面的项目? 我有几个问题,重复上面的内容并不是很有效。

尝试谷歌这几次,但我找到的每个重定向都是关于?whatever = param

任何帮助表示赞赏!

谢谢,

LEA

1 个答案:

答案 0 :(得分:1)

想出来:

    RewriteCond %{REQUEST_URI}  ^/filename\.asp$
    RewriteCond %{QUERY_STRING} &?([^&]+)&?
    RewriteRule ^filename.asp$ new/folder$1/%1? [R=301,L] 

然后,当我进行301重定向时,我就这样做了:

Redirect 301 /new/folder/abc /new/folder/longer-url-string