我正在尝试添加www并将所有非www网址重定向到基于codeigniter的项目中的www网址,但我的帖子数据在执行此操作后无效。以下是Apache .htaccess
文件的内容:
RewriteCond %{HTTP_HOST} ^examplesite\.com$ [NC]
RewriteRule ^(.*)$ http://www.examplesite.com/$1 [R=301,L]
我有$config['uri_protocol'] = 'AUTO';
。
如果我没有www网址,那么一切都像魅力一样。我尝试了REQUEST_URI
,但它也没有用。
答案 0 :(得分: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()
帮助程序或form builder functions所以它将使用请求所在的域。