Autor Zpráva
Fisak
Profil
Dobrý dne. Udělal sem si svůj systém který sem dal již na několik webů. Jenže u Endory se vyskytl problém s mod_rewritem a obrázky. Domívám se že problém bude v htaccessu... Endora bere totiž obrázek jako normální page -> http://insignia.funsite.cz/images/img/noavatar.jpg zatímco na localhostu a u wedosu mi jedou obrázky uplně bez problému -> http://www.plesy-teplice.cz/images/img/noavatar.jpg

.htaccess:
Options -Indexes

ErrorDocument 404 /system/defense/error-msg.php
ErrorDocument 500 /system/defense/error-msg.php
ErrorDocument 400 /system/defense/error-msg.php
ErrorDocument 401 /system/defense/error-msg.php
ErrorDocument 403 /system/defense/error-msg.php

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\.[[:alnum:]]+$
RewriteRule ^(.+[^/])$ /$1/ [R=301]
RewriteCond %{REQUEST_URI} !^/(images|uploads) [OR]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+) - [PT,L] 
RewriteRule ^([^/]+)/([^/]+)?/?([^/]+)?/?$ /?page=$1&action=$2&run=$3
</IfModule>

<IfModule mod_gzip.c>   
    mod_gzip_on         Yes   
    mod_gzip_dechunk    Yes   
    mod_gzip_item_include file          \.(html?|txt|css|js|php|pl)$   
    mod_gzip_item_include handler       ^cgi-script$   
    mod_gzip_item_include mime      ^text\.*   
    mod_gzip_item_include mime      ^application/x-javascript.*   
    mod_gzip_item_exclude mime      ^image\.*   
    mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*   
</IfModule>

<IfModule mod_deflate.c>
    SetOutputFilter DEFLATE
    <IfModule mod_setenvif.c>
        # Netscape 4.x has some problems...
        BrowserMatch ^Mozilla/4 gzip-only-text/html

        # Netscape 4.06-4.08 have some more problems
        BrowserMatch ^Mozilla/4\.0[678] no-gzip

        # MSIE masquerades as Netscape, but it is fine
        # BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

        # NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48
        # the above regex won't work. You can use the following
        # workaround to get the desired effect:
        BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html

        # Don't compress images
        SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
    </IfModule>

    <IfModule mod_headers.c>
        # Make sure proxies don't deliver the wrong content
        Header append Vary User-Agent env=!dont-vary
    </IfModule>
</IfModule>

<IfModule mod_headers.c>
<FilesMatch "\.(eot|woff|ttf|svg)$"> 
Header set Expires "Thu, 15 Apr 2020 20:00:00 GMT" 
Header set Cache-Control "public, max-age=2592000"
</FilesMatch> 
 
<FilesMatch ".(js|css|txt)$">   
Header set Cache-Control "public, max-age=604800"   
</FilesMatch>    

<FilesMatch ".(flv|swf|ico|gif|jpg|jpeg|png)$">   
Header set Cache-Control "public, max-age=2592000" 
</FilesMatch> 
   
<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">   
Header unset Cache-Control
</FilesMatch> 
</IfModule>
Kajman
Profil
Zkuste si i před 18. řádek přidat podmínku
RewriteCond %{REQUEST_FILENAME} !-f
Fisak
Profil
Kajman:
no to sice funguje.. jenže pak bez problému si můžou lidi zobrazovat moje php soubory :(
Davex
Profil
Nedává mi smysl negování v těchto výrazech.

RewriteCond %{REQUEST_URI} !^/(images|uploads) [OR]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+) - [PT,L] 
Fisak
Profil
Davex:
dělal sem to podle nějakého návodu na netu takže se v htaccessu až takto nevyznám :-)


Davex:
jak bych to tedy měl upravit ?
Davex
Profil
Zkus vymazat označené vykřičníky.
Fisak
Profil
Davex:
Paráda děkuji moc :-)


Davex:
JO už vím proč tam na řádku 16. byl ten vykřičník. Totiž když mam zaplý mod rewrite tzn. mam www.adresa.cz/home/ a mám obrázek ... tak normální url by byla www.adresa.cz/images/obrazek.jpg a s tim mod_rewritem se udělá toto www.adresa.cz/home/images/obrazek.jpg
Davex
Profil
Fisak:
Za to nemůže mod_rewrite, ale je to úplně normální skládání URL v prohlížeči. Stránka se nachází v adresáři /home/ a k tomu se přidá relativní cesta k obrázku images/obrazek.jpg. Chceš-li odkazovat na obrázek správně, tak musíš použít kořenovou adresu.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: