Autor Zpráva
habadaba
Profil *
Ahojte, viem, že sa to tu už riešilo X krát, ale ja tomu nejako vôbec ale vôbec nerozumiem.

Dajme tomu že mám stránky:
http://lolo.sk/index.php
http://lolo.sk/stranka.php
http://lolo.sk/kontakt.php

Ako z toho spraviť:
http://lolo.sk/index/
http://lolo.sk/stranka/
http://lolo.sk/kontakt/

? Najlepšie bez presúvania daných .php do zložiek.

ďakujem moc!
Micruss
Profil
Řešení některých častějších problémů (FAQ) » Stránky s adresou bez přípony
habadaba
Profil *
habadaba:
viem, že sa to tu už riešilo X krát, ale ja tomu nejako vôbec ale vôbec nerozumiem.


Hlavne neviem čo kde dať, v ktorom htaccess má byť čo a tak..
Micruss
Profil
vytvoř soubor .htaccess (kde máš index.php) do něho vlož to co sem ti poslal
RewriteEngine On 
# podstrčení PHP, přepsat pouze na existující skript
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^.]+)$    $1.php    [L]

pokud soubor .htaccess nevidíš, tak je skrytý což vyřeším tím, že si dáš nastavení složek a zobrazíš skryté soubory.
habadaba
Profil *
Nefunguje mi to. Po prejdení na web.sk/index mi ukáže neexistujúcu zložku a keď idem priamo na index.php, prípadne sa pohybujem po navigácií, hodí ma na nieco.php normálne :/
Kubo2
Profil
habadaba:
Ahojte, viem, že sa to tu už riešilo X krát, ale ja tomu nejako vôbec ale vôbec nerozumiem.
rewrite_module úplne od základov, po lopate. Môj názor je, že je to priemerne vysvetlené, ale ja som sa pracovať s rewrite modulom naučil pracovať až po prečítaní oficiálnej dokumentácie.
habadaba
Profil *
No nejako som sa dostal k tomuto:

RewriteCond %{ENV:REDIRECT_STATUS} =""
RewriteCond %{REQUEST_METHOD} =GET
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.+)\.(php|html)$ http://%{HTTP_HOST}/$1 [L,R=301,NE]

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^.]+)$ http://%{HTTP_HOST}/$1.php [L,R=301,NE]

Teraz to funguje asi tak, že keď idem na stranka.sk/index.php, hodí ma na stranka.sk/index, keď obnovím stránku, hodí ma na stranka.sk/index.php
+ Chrome píše, že stránka obsahuje cyklické presmerovanie a nič sa mi vlastne neukáže.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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