Php 表单未将数据过帐到控制器

Php 表单未将数据过帐到控制器,php,.htaccess,mod-rewrite,joomla,joomla2.5,Php,.htaccess,Mod Rewrite,Joomla,Joomla2.5,我面临一个奇怪的问题,即每当我提交表单时,它会弹出一个错误,就像所有字段都是必需的一样。当我调试它时,我发现无论何时提交表单,在我的控制器中都没有任何post数据,它是一个空数组 在我的本地主机上,一切正常。我已经搜索了它,并得出结论,这是我的.htacess文件的一个问题。我已经设置了添加尾部斜杠的规则,并发现这会产生问题 所以我想知道,对于在组件中执行的特定任务,如何删除此规则。任何建议都会有帮助。下面是添加尾部斜杠的代码: RewriteEngine On # Start –301 re

我面临一个奇怪的问题,即每当我提交表单时,它会弹出一个错误,就像所有字段都是必需的一样。当我调试它时,我发现无论何时提交表单,在我的控制器中都没有任何post数据,它是一个空数组

在我的本地主机上,一切正常。我已经搜索了它,并得出结论,这是我的.htacess文件的一个问题。我已经设置了添加尾部斜杠的规则,并发现这会产生问题

所以我想知道,对于在组件中执行的特定任务,如何删除此规则。任何建议都会有帮助。下面是添加尾部斜杠的代码:

RewriteEngine On

# Start –301 redirect for "http://" to "http://www"
rewritecond %{http_host} ^testdomain.com [nc]
rewriterule ^(.*)$ http://www.testsdomain.com/$1 [r=301,L]
# End - 301 redirect rule

# add trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*[^/]$ /$0/ [L,R=301]

检查您的表格张贴到哪里。若表单操作是不带斜杠的url,那个么一旦您向它发送请求,htaccess将重定向您,并且您将向您应该发送数据的页面发送GET请求。但由于您的请求已被重定向并更改为GET,因此不会提交任何数据


解决方案:要么修复表单操作,要么删除添加尾部斜杠的代码。说到尾随斜杠,据我所知,Joomla生成SEF链接时没有它,所以我想知道为什么你首先添加了它,每次单击某个东西时你都会进行重定向,我已经用下面的方法解决了更改规则的问题,并开始工作,在url中添加尾随斜杠。我希望它将来会对其他人有所帮助

RewriteEngine On

# Start –301 redirect for "http://" to "http://www"
rewritecond %{http_host} ^testdomain.com [nc]
rewriterule ^(.*)$ http://www.testsdomain.com/$1 [r=301,L]
# End - 301 redirect rule

# add trailing slash
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !index.php
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://www.testdomain.com/$1/ [L,R=301]