Autor Zpráva
Sobky
Profil
Zdravím, v súbore htacces mám:
RewriteEngine On
# podstrčení PHP, přepsat pouze na existující skript
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^.]+)$    $1.php    [L]

#pokud je to zanorene v nejakem adresari, uvedte ho za /
RewriteBase /
#ignoruj vsechny opravdove adresare
RewriteCond %{REQUEST_FILENAME} !-d
#ignoruj vsechy opravdove soubory (php skripty, obrazky, styly)
RewriteCond %{REQUEST_FILENAME} !-f
#vsechno ostatni necha vygenerovat index.php (ten se musi rozhodnout podle promenne url, zda stranka existuje a jaky ma mit obsah)
RewriteRule ^(.*)$ index.php?page=$1 [QSA,L]

#Error stránka
ErrorDocument 404 /error.php

Ale robím pre stránku Administráciu. ->Vytvoril som si priečinok /admin takže url stránky vyzerá www.stranka.eu/admin/ a tam si chcem prepínať menu. Lenže tu je nastavené že za index.php je to ?page=$1 no a ja by som to ?page=$1 až za to /admin/ malo by sa to dať, ale neviem ako...

Funguje to ked napíšem www.stranka.eu/admin/?page=obsah ,ale ja by som chcel aby to bolo www.stranka.eu/admin/obsah
Keeehi
Profil
Za RewriteBase by mělo stačit přidat.
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/admin/(.*)$ admin/index.php?page=$1 [QSA,L]
Sobky
Profil
RewriteRule ^(.*)$ index.php?page=$1 [QSA,L]
RewriteRule ^/admin/(.*)$ admin/index.php?page=$1 [QSA,L]
Takže ked tam doplnim toto tak by to malo ísť?


hmm dáko to nejde :/
xROAL
Profil
Sobky:
Naopak. ^(.*)$ ti odchytí aj adresu admin/?page=obsah. Druhé pravidlo sa už nevykoná.
Sobky
Profil
RewriteRule ^/admin/(.*)$ admin/index.php?page=$1 [QSA,L]
RewriteRule ^(.*)$ index.php?page=$1 [QSA,L]
Ked to dám takto: www.stranka.eu/admin/ tak mi napíše že stránka neexistuje..
Kajman
Profil
Stejný .htaccess jako v [#1] stačí dát i do složky admin.
Sobky
Profil
neviem prečo al to nefunguje... netreba to .htacces v tej zložke aktivovať?
Davex
Profil
Sobky:
Ten .htaccess v adresáři admin/ nemůže být úplně stejný.

Je potřeba změnit
RewriteBase /admin/
Sobky
Profil
funguje :) a ešte ked tam mám v url ?page a ?repair lenže ono to teraz všetko mení na ?page dá sa aj to nejako nastaviť?
Keeehi
Profil
Když teď máte adresy
example.com/admin/foo
example.com/admin/bar
a první chcete převést na example.com/admin/index.php?page=foo a druhou na example.com/admin/index.php?repair=bar tak to půjde těžko. V těch dvou původních adresách není nic, čeho by se dalo chytnout aby se rozlišilo, zda se má použít page nebo repair. Dalo by se to natvrdo vypsat. To by však znamenalo, že kdykoli přidáš nějakou stránku, musel bys editovat i htaccess. Nebo bys musel adresy upravit tak, aby byly odlišitelné. Třeba takto
example.com/admin/page/foo
example.com/admin/repair/bar
To by už šlo. Lepší by však bylo to sjednotit a místo dvou page nebo repair používat jen jedno z nich.
Sobky
Profil
Tak teda nechám len to prvé a ked budem chcieť vypísať ?repair tak to budem vypisovať ?repair=stranka
Ďakujem za pomoc

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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