Rasgele Sadece Google Chrome ve oturum değişkenleri kaybetmek

3 Cevap php

Google Chrome'u kullanarak, sayfaları arasında gezinirken (PHP 5.0.4, Apache 2.0.54) oturum verileri bozarak / görünüşte kaybediyorum. Web sitesi IE7 / 8, Firefox, Safari ve mükemmel çalışıyor Opera. Sorun sadece Google Chrome ile.

Ben sorunu daralmış. Ben arama dostu URL kullanarak, ve bir. Htaccess dosyası ile benim ön denetleyicisi (index.php) saklıyorum. . Www.domain.com/blah/blah/ İşte htaccess dosya içeriği var gibi: Yani URL görünüyor:

Options +FollowSymlinks 
RewriteEngine on
#allow cool urls 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*) index.php [L] 
#allow to have Url without index.php 

. Ben htaccess dosyasını kaldırın ve URL ön denetleyicisi maruz eğer: www.domain.com/index.php/blah/blah/, Chrome mükemmel çalışıyor.

Herhangi bir düşünce fikir? Ben Chrome kullanın ve sunucuya göndermek için çerez ne tanımlar nasıl problem ile bazı tür düşünüyorum? Bu Chrome'da 4 & olur 5.. Teşekkürler!

3 Cevap

(Bana rağmen aslında birbirine bağlayan değil 404 Chrome'dan her sayfa isteği ile bu için neden olduğunu, aksi takdirde ben Fiddler kullanarak görebiliyordu - Ben aynı sorunu vardı ve bunu düzeltmek için sadece bir favicon.ico oluşturmak ve webroot yerleştirmek zorunda sayfa biçimlendirme bir favicon).

Aklımda bu Favicon eksikliği oturumu veriler üzerinde hiçbir sunulmalıdır olması gerektiği gibi, açıkça Chrome'da bir hatadır.

Sorun benim. Htaccess dosyasının içeriği ile olduğu ortaya çıktı. Bu sorunu çözüldü:

#<IfModule mod_rewrite.c>

############################################
## enable rewrites

    Options +FollowSymlinks
    RewriteEngine on

############################################
## always send 404 on missing files in these folders

    RewriteCond %{REQUEST_URI} !^/.*(themes|wysiwyg|images|js)/

############################################
## always send 404 on missing favicon

    RewriteRule ^favicon.ico$ favicon.ico [L]

############################################
## never rewrite for existing files, directories and links

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l

############################################
## rewrite everything else to index.php

    RewriteRule .* index.php

#</IfModule>

Kullanmayı deneyin;

 session_set_cookie_params(0, '/', '.domain.com');

Oturum çerezi params uygulamak. Eğer 'hayır www' zorlanarak, ya da alt etki alanlarını kullanarak değilse öneki dönemini çıkarın.

Ayrıca (sağ oturum verileri yazdıktan sonra başlıklarını yönlendirmek çalıştırdığınızda bu özellikle kullanışlıdır) ve sonra orada oturumu yazmak ve kapatmak için PHP zorlamak için komut sonunda session_write_close() arama deneyebilirsiniz.

GÜNCELLEME:

Lütfen .htaccess bu kullanmayı deneyin;

RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]