重定向到/添加 www 在基于 URL Codeigniter 的项目中


redirecting-to/adding www in url codeigniter based project

我正在尝试添加 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,但它也没有用。

这是因为如果响应是重定向,浏览器不会重新提交 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()帮助程序或表单构建器函数,以便它将使用请求进入的域。