0

我正在尝试在基于 codeigniter 的项目中添加 www 并将所有非 www url 重定向到 www url,但是这样做后我的帖子数据不起作用。以下是 Apache.htaccess文件的内容:

RewriteCond %{HTTP_HOST} ^examplesite\.com$ [NC]
RewriteRule ^(.*)$ http://www.examplesite.com/$1 [R=301,L]

我有$config['uri_protocol'] = 'AUTO';

如果我没有 www 网址,一切都像魅力一样。我试过REQUEST_URI了,但也没有用。

4

1 回答 1

1

这是因为如果响应是重定向,浏览器不会重新提交 POST 数据。这是正常的,也是意料之中的事情。你可以做的是只重写带有额外条件的 GET 请求:

RewriteCond %{REQUEST_METHOD} GET [NC]
RewriteCond %{HTTP_HOST} ^examplesite\.com$ [NC]
RewriteRule ^(.*)$ http://www.examplesite.com/$1 [R=301,L]

$config['site_url']将选项保留为application/config/config.php空字符串(这将使 CI 进行自动检测),并在您的视图代码中,使用site_url()帮助程序或表单构建器函数,以便它将使用请求进入的域。

于 2013-06-25T17:45:15.623 回答