0

感谢您前几天在此处对我一直遇到的一些 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>

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

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

4

1 回答 1

2

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

于 2012-06-22T01:01:21.377 回答