Autor Zpráva
Miri
Profil *
Ahoj, chtěl bych se zeptat jestli nějaký expert nebude vědět toto:

mame doménu se stejným uložištěm subdomén. Tedy http://primisimo.cz a http://koupelny.primisimo.cz funguje stejně akorát koupelny mám v httacces změněné na proměnnou. Avšak když se podívat sem
http://primisimo.cz/uploads/s/94676-monza.png
a
http://koupelny.primisimo.cz/uploads/s/94676-monza.png

obrázek funguje jen na hlavní doméně i když mám stejné uložiště. Nevěděl by někdo jak mohu toto obejít?? přes httaces ? nebo za pomocí hostingu to už je jedno.

Předem děkuji za odpověd. Míra
Davex
Profil
Na doméně koupelny.primisimo.cz asi podstrkáváš všem adresám skript, takže se i na URL obrázku spustí skript. Náprava je jednoduchá - stačí nepřepisovat adresy vedoucí k existujícím souborům.

# v .htaccess přidáním podmínky před přepisovací pravidlo
RewriteCond %{REQUEST_FILENAME} !-f
Miri
Profil *
Přikládám kus httacces

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ ?prom1=$1

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/([^/]+)?/?$ ?prom1=$1&prom2=$2
.
.
.


Takto jsem to měl. To by mělo být správně
Davex
Profil
Miri:
Přikládám kus httacces
V tomto případě je podstatná pouze část pro subdoménu, takže buďto .htaccess subdomény nebo pravidla s podmínkou RewriteCond %{HTTP_HOST} ^koupelny\., nebo tak nějak.
Miri
Profil *
takže tento přiklad?
RewriteCond %{HTTP_HOST} ^([^.]+)\.primisimo\.cz
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ index.php?sub=%1&prom1=$1 [L,QSA]
Davex
Profil
Miri:
Je-li tam víc pravidel, tak by měla být konkrétnější pravidla [#5] před těmi obecnějšími [#3]. Z těchto útržků nedokážu posoudit, proč se přepisují všechny adresy na subdoméně.
Miri
Profil *
Nejjednoduší bude sem dát celý httacces :-)
RewriteEngine on
RewriteBase / 

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ ?prom1=$1

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/([^/]+)?/?$ ?prom1=$1&prom2=$2

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/([^/]+)/([^/]+)?/?/?$ ?prom1=$1&prom2=$2&prom3=$3

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)?/?/?/?$ ?prom1=$1&prom2=$2&prom3=$3&prom4=$4

RewriteCond %{HTTP_HOST} ^([^.]+)\.primisimo\.cz
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ index.php?sub=%1&prom1=$1 [L,QSA]

RewriteCond %{HTTP_HOST} ^([^.]+)\.primisimo\.cz
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/([^/]+)?/?$ index.php?sub=%1&prom1=$1&prom2=$2 [L,QSA]

RewriteCond %{HTTP_HOST} ^([^.]+)\.primisimo\.cz
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/([^/]+)/([^/]+)?/?/?$ index.php?sub=%1&prom1=$1&prom2=$2&prom3=$3 [L,QSA]

RewriteCond %{HTTP_HOST} ^(.*)\.primisimo\.cz
RewriteRule ^(.*)$ index.php?sub=%1 [L,QSA]
DJ Miky
Profil
Poslední pravidlo ti přepíše cokoliv z jakékoliv subdomény na index.php, včetně existujících souborů (takže i obrázků). Měl bys tam doplnit také ty dvě podmínky na neexistenci souboru/adresáře, jako to máš u ostatních pravidel:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
Miri
Profil *
YES, Super funguje vše a mnohem víc, ani nevíte jak moc jste mi pomohli :-) Vyřešili jste mi 3 měsíční problém a asi 20 jinejch příspěvků :-) Moc vám za to děkuji Míra

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0