Autor Zpráva
diabolka
Profil *
Zdravím,
udělala jsem si soubor htaccess a do něj dala tento kód:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d

RewriteRule ^.* - [L]
RewriteRule ^([^.]+)$ $1.php [QSA,L]

Je to samozřejmě pro "odseknutí" koncovek.
Jak to ale upravit i na php i na html zároveň (něco mám s příponou html něco s php).

Zkoušela jsem toto, ale nešlo to :-(

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d

RewriteRule ^.* - [L]
RewriteRule ^([^.]+)$ $1.php [QSA,L]
RewriteRule ^([^.]+)$ $1.html [QSA,L]

Neví někdo prosím?
Ax
Profil *
Nefunguje to proto, že není-li soubor bez přípony nalezen, podstrkává se pravidlem RewriteRule ^([^.]+)$ $1.php [QSA,L] soubor s příponou .php a je to poslední pravidlo ([L]). Ten poslední řádek už je tam úplně k ničemu.

Správné řešení by mělo testovat, zda existuje .php a pokud ano, podstrkávat .php, pokud ne, podstrkávat .html. Podle toho, jak se pravidla zapíšou, to bude podstrkávat .php nebo .html, pokud budou existovat soubory oba.
diabolka
Profil *
to jsem myslela že to bude testovat i s těma dvěma řádky.. jak to ale udělat? Díky
kletely
Profil
diabolka
Vyskúšaj to to:
RewriteEngine  On 
RewriteBase  / 
 
RewriteCond  %{ENV:REDIRECT_STATUS}  !^$ 
RewriteRule  .*  -  [L] 
 
RewriteCond  %{REQUEST_FILENAME}  !-f 
RewriteCond  %{REQUEST_FILENAME}  !-d 
RewriteRule  ^(.*)/$  $1.php  [L] 

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0