0

私のタイトルが言うように、私の CodeIgniter インストールでは $ _POST メソッドが正しく動作しません。フォームの投稿時に値が反映されません。

奇妙なこと 1:まったく同じコード を持つ「非サブドメイン」サイトでうまく機能します。

不思議なこと2: パスに「/index.php/」を追加すると動作します。しかし、それでも、私は他のサイトでそれをしていません。しかし、私は両方のサイトで .htaccess を使用しており、それらのファイルもまったく同じように見えます。コードは次のとおりです。

#php_value default_charset UTF-8

RewriteEngine on

RewriteCond $1 !^(index\.php|assets|img|swf|xml|robots\.txt|css|js|favicon.ico|robots.txt|404.html)
RewriteRule ^(.*)$ /index.php/$1 [L]

では、サブドメインにインストールされた CodeIgniter でフォーム投稿が正しく機能するようにするにはどうすればよいでしょうか?

4

1 に答える 1

1

ベース URL は何に設定されていますか?

誰かがサブドメインなしsubdomain.mysite.comで投稿しているフォームにアクセスしたときに発生する可能性があります。mysite.com

これを試してください (そして、あなたが持っている余分な書き換えルールをすべて取り除くことができるでしょう):

$config['base_url'] = 'http://' . $_SERVER['HTTP_HOST'] . '/site-folder-if-any/';

サブドメインで $_POST データを送信する際に、これを正常に使用しました

これにより、 によって生成されたすべてのリンクsite_url(), form_open(), etc.が正しい URL を持つようになります。

于 2012-10-23T21:27:34.330 に答える