Kohana. Htaccess ve $ _GET

3 Cevap php

Godaddy sunucuya benim Kohana proje yükledikten sonra, benim standart. Htaccess dosyası temiz URL'leri sağlamak için yeterince çalışma değildi fark ettim. Bazı rehberlik sonra, aşağıdaki kural ile sona erdi:

RewriteRule .* index.php?kohana_uri=$0 [PT,L]

Bu benim güzel-URL'ler yine çalışma var, ama bugün ben de GET-stil değişkenlerini kullanan benim dahili arama-motoru, kırılma olabilir öğrenmek:

/search?terms=php

Değerleri, komut tarafından bulundu varlık değildir. Onlar RewriteRule kullanıyor Godaddy sunucu üzerinde modifiye RewriteRule yok, ama değil benim geliştirme-sunucu üzerinde bulunmaktadır.

Ben doğru bu kuralı varsayarak $ _GET okumak için herhangi bir komut yeteneği kırılıyor muyum, ve eğer öyleyse bunu nasıl telafi edebilir?

3 Cevap

Belki bu gibi, rewriterules içinde QSA kullanarak:

RewriteRule .* index.php?kohana_uri=$0 [PT,QSA,L]

manual of mod_rewrite (alıntı) Bkz:

'Qsappend | QSA' (sorgu dizesi append)

This flag forces the rewrite engine to append a query string part of the substitution string to the existing string, instead of replacing it. Use this when you want to add more data to the query string via a rewrite rule.

(Özel durumda test değil, ama ben bu gibi sorunun bir tür için, bu bir süre önce kullanmış hatırlıyorum) yardımcı olabilir

Ben Eklemek düşünüyorum: RewriteCond $1 !^(search), ya da böyle bir varyasyon.

Eğer standart bir uygulama kullanmak istiyorsanız ve sorgu dizesi olmadan sadece bu adımları izleyin ve sadece localhost gibi çalışacak ihtiyacınız Ve eğer yeniden yazma kurallarını değiştirmek gerekmez.

Cgi.fix_pathinfo = 1: -> WebRoot dizini -> o var ve yer yoksa çizgi izleyen php5.ini oluşturma godaddy hesap dosya yöneticisi git

Şimdi Web Süreci yeniden başlatmanız gerekir:

1.) Log in to your Account Manager. 2.) Click Web Hosting. 3.) Next to the hosting account you want to use, click Launch. 4.) In the Stats & Monitors section, click System Processes. 5.) In the list on the left, click the process you want to view or click All Processes to view all processes at once. 6.) To end a process, click the corresponding end button on the toolbar.

Şimdi Otomatik olarak URI_PROTOCOL kullanabilirsiniz.