【问题标题】:Codeigniter redirect non-www to www preventing form submissionCodeigniter 将非 www 重定向到 www 阻止表单提交
【发布时间】:2015-07-17 23:23:21
【问题描述】:

.HTACCESS 文件中的 Codeigniter 重定向问题。我的重定向代码如下:

RewriteEngine On
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^www\.domainname\.net [NC]
RewriteRule ^(.*) http://www.domainname.net/$1 [R=301,NC,L]

RewriteCond %{REQUEST_URI} ^/system.*
RewriteRule ^(.*)$ index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?/$1 [L]

这似乎工作正常,但我注意到表单提交由于重定向而停止工作。请问有什么想法吗?

【问题讨论】:

  • 为什么会有重写条件?你有完整的.htaccess 文件要显示吗?请记住,您只需要一系列代码即可使其开箱即用:RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*)$ index.php/$1 [L]
  • @Dykotomee 这样我就可以将非 www 重定向到 www。我已经添加了 .htaccess 的剩余部分。
  • 有谁做过这个帮助吗?
  • 您是通过POST 还是GET 提交表单?此外,在您的原始评论中,您提到了某些“停止工作” - 您可以编辑您的问题以包含它之前 工作的原始 .htaccess 文件吗?
  • 我将其作为 POST 提交。我会尽快用原始文件更新问题。

标签: php .htaccess codeigniter redirect


【解决方案1】:

使用

#Redirect to www
RewriteEngine On
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

【讨论】:

    猜你喜欢
    • 2011-12-01
    • 2018-06-06
    • 1970-01-01
    • 1970-01-01
    • 2019-03-09
    • 2021-08-03
    • 2011-11-05
    • 2013-12-20
    相关资源
    最近更新 更多