微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

redirectPOST htaccess

这个问题非常类似于: 是否可以redirect发布数据? (被问到),但这个答案似乎并不适用于我。

我有一个表单:

<form action="http://a.test.com/contact" name="contact" method="post">

一个附加域(test.com是一个插件),里面有一个子域(a。),里面有一个文件item.PHP,.htaccess

我的htaccess如下:

.htaccess隐藏redirect时redirect到外部URL

重写子文件夹的URL条件

Apache + Python Bottle:访客IP总是指127.0.0.1

如果通过htaccess查询string参数不存在,则将HTTPSredirect到HTTP

MOD_REWRITE用于urlvariables删除空参数并为第一个和第二个variables使用多于1个字段

RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.PHP -f RewriteRule ^([^/]+)/$ $1.PHP # Forces a trailing slash to be added RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !(.[a-zA-Z0-9]{1,5}|/)$ RewriteRule (.*)$ /$1/ [R=301,L] #normal rewrites RewriteRule ^[~|-]?([a-zA-Z0-9]+)[/]*$ item.PHP?user=$1 [NC,L]

注意:我将它保留为[NC,L],因为当我将其更改为[NC,P]时,会给我一个500服务器错误

和我的item.PHP

<?PHP echo "<pre>"; print_r($_POST); echo "</pre>";

无论表单包含什么,$ _POST都是空白的,但是,如果我以http://a.test.com/item.PHP?user=contact作为动作。

一切顺利。 开机后会跳过htaccess,SO上的解决scheme似乎不起作用。

提前致谢

如何通过.htaccess在URL中允许三个可选参数?

Apache /国防部重写:路由一切index.PHP

htaccess重写URL的PHP参数

在.htaccess中使用保持活动function

Symfony从路由中移除前三个字符

您的“添加尾随斜线”规则强制标题重定向

[R=301,L]

标题重定向将会丢弃POST值。

您将不得不放弃该规则,或者在POST提交时禁用该规则:

# Forces a trailing slash to be added RewriteCond %{REQUEST_METHOD} !=POST RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !(.[a-zA-Z0-9]{1,L]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐