重写规则保留帖子数据

时间:2015-12-23 17:00:12

标签: apache .htaccess mod-rewrite url-rewriting

我正在尝试构建重写规则。我无法重定向,因为我需要保留POST和GET数据。特别是,如果不存在,我需要添加字符串“v1”。所以:

http://www.example.com/ - > http://www.example.com/v1

我试过了:

RewriteEngine On
RewriteRule "/(.*)$" "/v1/$1" [NC,L]

但这不起作用。你能帮帮我吗?

编辑:第一个回答:

RewriteRule !^/?v1/ /v1%{REQUEST_URI} [NC,L]

http://www.example.com -> OK
http://www.example.com/v1 -> not preserving POST data (GET OK)
http://www.example.com/v1/ -> OK, please why (I just added a slash after v1, but this is not the solution I'm looking for)?

1 个答案:

答案 0 :(得分:1)

这样做:

RewriteEngine On

RewriteRule !^/?v1/ /v1%{REQUEST_URI} [NC,L]

编辑:由于/v1/是一个目录,而您正在输入http://www.example.com/v1 Apache的mod_dir模块会添加一个尾随{{1}使用301重定向使其成为/。由于301重定向,POST数据会丢失。

要防止出现此问题,请使用以下代码段:

http://www.example.com/v1/