如何阻止这些.htaccess规则清除我的$ _POST变量?

时间:2012-06-22 00:59:13

标签: php apache .htaccess mod-rewrite post

感谢前面有关于我在这里遇到的一些htaccess问题的问题的帮助 - 它给了我正确的方向,以便能够解决导致问题的原因我能做到'找出解决方法。

我网站的htaccess文件是......

<IfModule mod_rewrite.c>

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.example.org
RewriteCond %{HTTP_HOST} ^(.+).example.org/^(.+)
RewriteRule ^([^/]*)$ http://example.org [P,L]

ErrorDocument 404 /index.php

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php [L]

</IfModule>

第一位允许我为我的客户端提供虚拟子域 - 它们都包含来自我的主域的相同文件,但使用了不同的布局,并且我的脚本根据子域从db获取了不同的数据。然而,似乎这个代码正在破坏任何$ _POST变量......因为当我在主域上提交表单时,脚本会获取变量,而对于任何子域使用完全相同的表单和完全相同的脚本,$ _POST变量是空白。

如何修复该段代码或添加其他位,以允许传递$ _POST变量?似乎在网站上使用最后一部分作为/ logout /?logmeout被识别它只是丢失的帖子。

1 个答案:

答案 0 :(得分:2)

如果您已经设置了通配符vhosts,您需要允许使用此类子域,则不需要重定向到主域。只需让您的PHP脚本检查$_SERVER['HTTP_HOST']即可查看正在访问的子域名。

相关问题