2013-06-06 28 views
5

Her şeyi denedim ve vazgeçmeye yakınım. Yardım lütfen.codeigniter 302 hata bulundu

Codeigniter'da index.php'den kurtulmaya çalışıyorum ve google'un .htaccess'te yer almasını sağlayan her kodu yaptım.

Şu anda buna sahibim.

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] 

ve bu işi yapar, ancak bir formu göndermek her zaman, geri beni delirtiyor bu harika 302 hatası alıyorum. benim denetleyicisi benim teslim fonksiyonunun

biri

302 error

... diğerleri temelde diğer formlar için aynıdır. Yeniden yönlendirme ve konum yönlendirme yöntemini zaten denedim, hiçbir şeyi değiştirmedim. Bu sorunun olduğuna inanmıyorum.

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

}

modelim sadece veritabanının benim formlarının

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); 
} 

biri sokmaya edilir

, onların hemen hemen sadece standart CodeIgniter formu

<?=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

yönlendirmeyle birlikte olduğu

htaccess tarafından "OTOMATİK" yerine - ama sadece formlarla gerçekleşirse, belki kontrol edin? Form için oluşturulan HTML nedir? Hangi URL'ye gönderiliyor? – Stobor

+0

Yukarıdaki formlarımdan birini ekledim. Gönderildiği URL ile ne demek istiyorsun? – zazvorniki

cevap

0

bunu kullanın:

+0

Eğer yaparsam, "Giriş dosyası belirtilmedi." – zazvorniki

+0

Açıkçası, bir şeyler yanlış. Onu doğru htaccess'e mi koyuyorsunuz? Index.php, sistem ve uygulama dirsleri ile aynı dizinde. – edwardmp

+0

Doğru yere yerleştiriyorum. Bu beni çıldırtıyor, çünkü bunu birkaç kez yaptım ve bu projeler için kullandığım kod sadece bunun üzerinde çalışmıyor. Geri döndüğüm başlık çıktısı yüzünden bir apache sorunu olduğunu düşünmeye başladım. – zazvorniki

1

en basit biri:

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

yardımcı olmuyor o zaman mod_rewrite'ın kontrol etmelisiniz etkindir. index.php sonra ?.htaccess dosyada aynı koda sahip 'No input file specified' hatayı

+0

numarasini çikarttiktan sonra bu, bana 404'leri yeniden yönlendirme ve 302'lik bir hatayı yenilediðinde veriyor. Mod_rewrite etkin olup olmadığını nasıl kontrol ederim? – zazvorniki

+0

print_r (apache_get_modules()); –

+0

sadece bir 0 döndürür, iyi bir şey olup olmadığından emin değil .... – zazvorniki

0

sizin .htaccess dosya için böyle bir şey deneyin.

Form gönderme ile gerçekleştiğini söylediğiniz gibi, sorun muhtemelen sunucu yapılandırmanızdır. Sunucu yapılandırmanızı tekrar kontrol edin.

+0

Bu çalışır, ancak formları gönderdiğimde hala sunucu bilgilerini görüntülüyor. http://i1280.photobucket.com/albums/a485/Jessica_Sears/ScreenShot2013-06-09at84957AM_zps62049791.jpg – zazvorniki

0

çözülmesine yardımcı olur

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] 

ve sorunsuz çalışır:

+0

Codeigniter klasörünün içindeki konfigürasyondan mı yoksa sunucudan ipete mi bahsediyorsunuz? – zazvorniki

+0

Sunucudan bahsediyorum. – sakibmoon

+0

Ipage'deki insanlarla konuştum ve her şeyin yolunda olduğunu söylediler. Bundan başka hiçbir şeye erişimim yok. – zazvorniki

0

emin değiştirmeyi olun

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

...

$config['index_page'] = ''; 

.... ile Ve değiştirmek .... Bu satırı olan tüm hatlarda

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

Cevapladığınız için teşekkür ederiz!İlk adımı çoktan yaptım ve maalesef tekrar yazmamda 500 hata yazıyor. – zazvorniki

0

Bence bu senin problemini çözebilir.

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

yönlendirme() işlevi Yanıt Kodu 302 bu

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

varsayılan gibi bakmak. Yani manuel olarak değiştirmeniz gerekiyor.

p.s. Üçüncü parametre yalnızca 'location' yönlendirmeleriyle ve "refresh" ile değil ile kullanılabilir.

+0

Cevabınız için teşekkür ederiz! Maalesef, hala bu başlığı geri alıyorum. http://s1280.photobucket.com/user/Jessica_Sears/media/ScreenShot2013-06-09at84957AM_zps62049791.jpg.html – zazvorniki

0

Config.php Açık ve aşağıdakileri yapın uri_protocol için varsayılan ayar düzgün çalışmıyor Bazı durumlarda

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

yerini alır. Sadece $ yapılandırma [ 'uri_protocol'] = $ config [ 'uri_protocol'] = "REQUEST_URI"

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

Teşekkür ederim, ama bu adımı zaten yaptım. Sorunuma neden olan budur. – zazvorniki