2013-06-06 11 views
5

私はすべてを試して、私はあきらめています。助けてください。codeigniter 302エラーが見つかりました

私はcodeigniterのindex.phpを取り除き、Googleが.htaccessに入れるために提供したすべてのコードを実行しようとしてきました。

現在、私はこれを持っています。

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

、これが作業を行いますが、私はフォームを送信するたびに、私は狂気私を運転しているこの素晴らしい302エラーを取り戻します。私の私のコントローラに機能を提出する

302 error

1 ...他の人は基本的に他の形態でも同じです。私はすでに、リダイレクトの更新とロケーションメソッドを試みましたが、何も変更しません。私はこれが問題だとは思わない。

public function submitStory(){ 
    if (empty($this->user)) { 
    redirect('/home/'); 
    }else{ 
    $this->story_model->writeStory(); 
    redirect('story/newChapterView/'); 
    } 

}

私のモデルは単にデータベース

public function writeStory(){ 
    $this->title = strip_tags($this->input->post('wTitle')); 
    $this->date = time(); 
    $this->author = strip_tags($this->input->post('wAuthor'));  
    $this->type = strip_tags($this->input->post('wType'));  
    $this->db->insert('story_tbl', $this); 
} 

私の形式の一つ、彼らのほとんどちょうど標準CodeIgniterのフォーム

<?=form_open('story/submitStory', array('id' => 'newStory'));?> 
    <p class="textBox"><label>Story Title: </label><input id="storyTitle" type="text" name="wTitle" autocomplete="off" /></p> 
    <p><label>Complete:</label><select class="drop" name="wcomplete" id="complete"><option value="no">no</option><option value="yes">yes</option></select></p> 
    <p><label>Description:&nbsp;</label><textarea name="wDescription" id="wDescription" class="wDescription"></textarea><span id="discWarn">500 characters left</span></p> 
    <p class="submit"><input type="submit" value="Submit Details" /></p>  
</form> 
+0

- フォームでしか起こらない場合は、チェックしてみてください。フォーム用に生成されるHTMLは何ですか?どのURLに投稿されていますか? – Stobor

+0

上記のフォームを1つ追加しました。それが投稿されているURLはどういう意味ですか? – zazvorniki

答えて

0

これを使用してに挿入されています。

+0

これを行うと、「入力ファイルが指定されていません」というメッセージが返されます。 – zazvorniki

+0

明らかに、何かが間違っています。あなたはそれを正しいhtaccessに入れていますか? index.phpと同じディレクトリに、システムとアプリケーションのディレクトリがあります。 – edwardmp

+0

私はそれを正しい場所に置いています。私はこれを数回以上やっており、私がこれらのプロジェクトに使用したコードはちょうどこれに取り組んでいないので、私は夢中です。私はそれが私が戻ってくるヘッダー出力のために、Apacheの問題だと思っています。 – zazvorniki

1

最も簡単な:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ index.php/$1 [L] 
</IfModule> 

それが解決しない場合、あなたはmod_rewriteのを確認する必要がありますが有効になっています。

RewriteEngine On 

#request to index.php 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteCond $1 !^(index\.php|public|images|robots\.txt|css) 
RewriteRule ^(.*)$ index.php?/$1 [L] 

index.php?は、私が.htaccessファイルで同じコードを持っており、それが何の問題もなく動作します'No input file specified'エラー

+0

これは私に404のリダイレクトと302エラーを表示します。 mod_rewriteが有効になっているかどうかを確認するにはどうすればよいですか? – zazvorniki

+0

print_r(apache_get_modules()); –

+0

ちょうど良いものかどうかわからない0を返します。 – zazvorniki

0

は、あなたの.htaccessファイルに対して、このような何かを試してみてください。

フォーム送信時に発生すると言われているように、おそらくサーバー構成に問題があります。サーバー構成を再確認してください。

+0

これは動作しますが、フォームを送信するとサーバー情報が表示されます。 http://i1280.photobucket.com/albums/a485/Jessica_Sears/ScreenShot2013-06-09at84957AM_zps62049791.jpg – zazvorniki

0

を解決するのに役立ちます:

+0

あなたはcodeigniterフォルダ内の設定やサーバー自体のipageについて話していますか? – zazvorniki

+0

私はサーバー自体について話しています。 – sakibmoon

+0

私はipageの人々と話しました。彼らはすべてがうまくいっていると言います。私はそれ以外のものにアクセスすることはできません。 – zazvorniki

0

...に変更....

RewriteRule ^(.*)$ index.php?/$1 [PT, L] 
+0

お返事ありがとうございます!私はすでに最初のステップを踏んでおり、不幸にもrewriteRuleは私に500エラーを送信します。 – zazvorniki

0

$config['index_page'] = ''; 

そして、このラインを持っているすべての行に....と

$config['index_page'] = 'index.php'; 

を交換することを確認します

これはあなたの問題を解決できると思います。

public function submitStory(){ 
    if (empty($this->user)) { 
    redirect('/home/', 'location', 301); 
    }else{ 
    $this->story_model->writeStory(); 
    redirect('story/newChapterView/', 'location', 301); 
    } 
} 

リダイレクト()関数は、応答コードが302あるこの

redirect ($url, $method = 'location', $response = 302) {...}; 

デフォルトのように見えるです。したがって、手動で変更する必要があります。

p.s. 3番目のパラメータは、'場所'リダイレクトでのみ利用可能であり、は '更新'では使用できません。

+0

あなたの答えをありがとう!残念なことに、私はまだこのヘッダーを取り戻しています。 http://s1280.photobucket.com/user/Jessica_Sears/media/ScreenShot2013-06-09at84957AM_zps62049791.jpg.html – zazvorniki

0

config.phpを開いて、次の操作を行いuri_protocolのデフォルト設定が正常に動作しないいくつかのケースでは

$config['index_page'] = "index.php" 
to 
$config['index_page'] = "" 

を置き換えます。 だけでは問題はリダイレクトであると仮定されている $の設定[ 'uri_protocol']で $の設定[ 'uri_protocol'] = "AUTO" を置き換える= "REQUEST_URI"

htaccessの

RewriteEngine on 
RewriteCond $1 !^(index\.php|resources|robots\.txt) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L,QSA] 
+0

ありがとうございますが、私はすでにこのステップを行っています。これが私の問題の原因です。 – zazvorniki

関連する問題