简单.htaccess重定向:如何使用参数重定向?

时间:2012-05-24 22:07:39

标签: regex apache .htaccess mod-rewrite

我的目标只是重定向:

/jsn.php?parametershttp://www.site2.com/jsn.php?parameters

我试过

Redirect permanent /jsn.php(.)* http://www.site2.com/jsn.php$1

3 个答案:

答案 0 :(得分:12)

查询字符串参数会自动传递,您只需要这样做:

Redirect permanent /jsn.php http://www.site2.com/jsn.php

(.)*不适用于Redirect指令,您可能会考虑RedirectMatch,但不管怎样,您都不需要它。 (.)*也应为(.*),否则 $ 1 反向引用只会获得第一个字符。

答案 1 :(得分:1)

您可以在.htaccess文件中使用显式网址重写:

RewriteRule ^/jsn\.php\?(.*) http://www.site2.com/jsn.php?$1 [R]

注意:你需要逃脱。和?因为它们也是正则表达式字符。

如果您在使用mod_rewrite时遇到问题,请发布文件内容。

答案 2 :(得分:1)

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

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

RewriteRule ^(jsn\.php)$ http://www.site2.com/$1 [L,NC,R=301]