Autor Zpráva
Pepan223R
Profil *
Ahoj, mám udělanej přepis pro stránky:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([^/]+)(/([^/]+))? index.php?type=$1&id=$3 [L,QSA]

Rewrite mi ale přepisuje i cesty pro CSS, JS, obrázky atd. Nevíte někdo jakým způsobem lze docílit toho, aby to nepřepisoval?
Díky
Kubo2
Profil
Pepan223R:
aby to nepřepisoval
Na riadok 4 pridaj podmienku:
RewriteCond %{REQUEST_FILENAME} !\.css|\.js|\.jpe?g|\.png|\.gif|\.svg$
Prípadne si tam nastrkaj ďaľšie prípony, akurát predpokladám, že to nebude fungovať s kladným(?) nastavením direktívy AcceptPathInfo.
Pepan223R
Profil *
Kubo2:
nastavením direktívy AcceptPathInfo.

co to znamená?
okolojsoucí
Profil *
Pepan223R:
co to znamená?

This directive controls whether requests that contain trailing pathname information that follows an actual filename (or non-existent file in an existing directory) will be accepted or rejected. The trailing pathname information can be made available to scripts in the PATH_INFO environment variable.
Zdroj: Apache - AcceptPathInfo Directive
Kajman
Profil
Pepan223R:

Podmínka na řádku dva zamezí přepis skutečných souborů. Spíše bych tipnul, že díky nové virtuální adresářové struktuře nefungují původní cestky k problematickým souborům. Použijte kořenové adresy.
Pepan223R
Profil *
Kajman:
Použijte kořenové adresy.

používám absolutní adresy
Kajman
Profil
Pepan223R:

Ještě můžete přidat za řádky 2 a 3 podmínku, že to není symbolický link, pokud je tedy používáte.
RewriteCond %{REQUEST_FILENAME} !-l

Pokud to stále nepůjde, hodil by se odkaz a nejlépe i výpis rewritelogu.
Pepan223R
Profil *
mám teď toto:
RewriteEngine On
RewriteLog "/log.txt"
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !\.css|\.js|\.jpe?g|\.png|\.gif|\.svg$
RewriteRule ^([^/]+)(/([^/]+))? index.php?type=$1&id=$3 [L,QSA]

a háže to chybu 500 :-(
Kajman
Profil
RewriteLog musí být nastaven přímo v konfiguraci apache. V souboru .htaccess ho nemůže použít, viz. odkaz.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0