Autor Zpráva
xciza
Profil
Ahoj,
potřeboval bych na webu ze všech stránek odříznout koncovky .php a .html, případně vše co je za nimi. Prosím jak na to v .htaccess?
Str4wberry
Profil
Tedy přesměrovat „example.com/neco.php?nejaky=parametr“ na „example.com/neco“?
xciza
Profil
No asi jo akorat s tim rozdilem ze za .php je jen na jedne strance .php#kotva, jinak jsou koncovky pouze .php a .html
Str4wberry
Profil
Ke #kotva se server nedostane. Ale může to detekovat JavaScript z location.hash.
xciza
Profil
a nemohl bys me se pls hodit tedy priklad jak ty koncovky oriznout v htaccess? plus kdyztak i tu kotvu? moc dík. htaccess jde mimo me
Kajman
Profil
Příklad je ve FAQ
xciza
Profil
Tak jsem tam dal následující kód:
RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.html [NC]
RewriteRule ^ %1 [R,L,NC]

RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^([^.]+)$    $1.html    [L]

to správně odřízne přípony .html. Ale nemuzu prijit na to jak to skombinovat aby me to odřízlo zárověň i přípony .php?
Kajman
Profil
Příklad je ve FAQ
xciza
Profil
No jasny, zkusil jsem tam dat
RewriteEngine On
 
# podstrčení PHP, přepsat pouze na existující skript
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^.]+)$    $1.php    [L]
 
# podstrčení HTML, přepsat pouze na existující soubor
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^([^.]+)$    $1.html    [L]

ale to mě neodřízne vubec nic
Kajman
Profil
.htaccess nedokáže ořezávat adresy na stránkách, ty si musíte upravit do nové podoby sám. Pro staré odkazy s jiných míst, které nemáte pod kontrolou, je dobré nachystat přesměrování viz. stále stejný příklad z FAQ.
xciza
Profil
cili v html kodu misto <a href ="onas.html"> budu mít <a href ="onas">?
juriad
Profil
xciza:
Ano; Apache dostane požadavek na stránku onas, pomocí .htaccess pochopí, že vlastně chceš onas.php nebo onas.html, podle toho, která bude existovat. Apache si vnitřně zamění tu adresu a odešle HTML stránku, pokud je to .html nebo spustí proces PHP, pokud je stránka .php.

před rovná se nesmí být mezera

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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