Občasně chybná hodnota v $basePath a chybné generování url
- Sonny
- Člen | 13
Ahoj,
mám docela zajímavý problém. Mám web na Blueboardu a čas od času se
stane, že se mi v $basePath objeví adresa začínající
/index.php/zbytek/cesty a také se url v odkazech vygenerují s /index.php na
začátku. Web normálně běží a většinu času to je ok, ale cca jednou
denně dojde k tomuto problému. Projevuje se to hned na homepagi, takže to
není otázkou nějakého přepsání proměnné či něco takového. Jinak je
dost možné, že se to čas od času projeví i mimo homepage, ale tam jsem si
toho zatím nevšiml. Homepage se cachuje, takže když se to špatně
vygeneruje, tak je to problém na delší dobu.
Používám nette 2.0.10 a na hostingu je PHP 5.4. Adresářovou strukturu mám takto:
/
|-app
|-css
|-images
|-js
|-libs
|-log
|-temp
|-index.php
Ale tam by problém být neměl, když se to děje jen čas od času. Stejnou strukturu používám i v dalších svých projektech a tam problém nenastává.
Nevěděl by někdo, co by mohlo pomoct?
- Sonny
- Člen | 13
Tak mám nějaké další informace k této chybě. Nechal jsem si posílat email s bližšími informacemi v případě, že basePath obsahuje index.php a došel jsem k těmto poznatkům.
- Četnost tohoto chování je několikrát během pěti minut
- Nastává to pouze v případě, že se na tu stránku podíval
googlebot
[HTTP_FROM] => googlebot(at)googlebot.com
Nenapadá někoho, čím by to mohlo být?
Případně jako dočasný fix mě napadlo, že basePath nastavím ručně na /. Kde bych to měl provést, aby se to projevilo i pro generování odkazů?
- Sonny
- Člen | 13
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# prevents files starting with dot to be viewed by browser
RewriteRule /\.|^\. - [F]
# front controller
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ index.php [L]
</IfModule>
# enable gzip compression
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript text/javascript application/javascript application/json
</IfModule>