我正在尝试将表单提交到网址“localhost / login”。在我的登录目录中,我有一个index.php文件,其中包含用于调试帖子工作的代码:
<?php
echo $_POST['username'];
?>
我的登录目录中有一个.htaccess文件:
RewriteEngine on
RewriteRule ^. index.php [L]
问题是,当我发布到localhost / login时,我的firebug显示初始POST通过,但随后重定向到login.php作为GET请求而没有任何POST变量......
POST http://localhost/login?password=test_password&remember=true&username=test_username 301永久移动
GET http://localhost/login/ 200 OK
任何提示都会很棒。
由于
答案 0 :(得分:1)
我的.htaccess文件中有一个条件:
RewriteBase /
RewriteCond %{HTTP_HOST} !^www(.*)
RewriteRule ^(.*) http://www.%{HTTP_HOST}%{REQUEST_URI}
重写没有前缀“www”的任何链接。像这样:
http://mysite.com to http://**www**.mysite.com
这就是我遇到的问题:
在我的表单中,我忘了放“www”,所以我的POST数组是空的。
将www放在如下表格中:
action="http://www.mysite.com/login"
而不是:
action="http://mysite.com/login"
为我解决了这个问题。
答案 1 :(得分:0)