.htaccess在重定向后丢失URL参数/ $ _ GET和$ _POST

时间:2011-09-09 12:22:13

标签: php apache .htaccess redirect post-redirect-get

我有一个像http://www.domain.com/?mod=test&act=view

这样的php文件

我想从该地址创建一个重定向,如:http://www.domain.com/view-test

这样每次用户访问第一个uri时,它都会被重定向到http://www.domain.com/view-test查看第一个uri的内容。

我有以下规则:

RewriteCond %{QUERY_STRING} mod=test&act=view
RewriteRule ^$ view-test? [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^view-test.html amas/index.php?mod=test&act=view [L]

这适用于没有参数或表单提交的页面,但如果我有任何其他方法都无效。

这意味着如果我有一个提交到同一文件的表单,它将无法正常工作。如果我有类似http://domain.com/?mod=test&act=view&order_by=id的东西,我将被重定向到uri,而order_by参数将被忽略!

甚至可以做我正在尝试的事情吗?我真的不太了解这一点,说实话,我找到了所有信息之间的迷失......:/

1 个答案:

答案 0 :(得分:1)

使用查询字符串追加:

RewriteRule ^view-test.html amas/index.php?mod=test&act=view [L,QSA]