Autor | Zpráva | ||
---|---|---|---|
Sobky Profil |
#1 · Zasláno: 28. 3. 2015, 19:13:05
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 |
#2 · Zasláno: 28. 3. 2015, 19:25:48
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 |
#3 · Zasláno: 28. 3. 2015, 19:33:26 · Upravil/a: Sobky
RewriteRule ^(.*)$ index.php?page=$1 [QSA,L] RewriteRule ^/admin/(.*)$ admin/index.php?page=$1 [QSA,L] hmm dáko to nejde :/ |
||
xROAL Profil |
#4 · Zasláno: 28. 3. 2015, 19:41:41
Sobky:
Naopak. ^(.*)$ ti odchytí aj adresu admin/?page=obsah . Druhé pravidlo sa už nevykoná.
|
||
Sobky Profil |
#5 · Zasláno: 28. 3. 2015, 19:46:17
RewriteRule ^/admin/(.*)$ admin/index.php?page=$1 [QSA,L] RewriteRule ^(.*)$ index.php?page=$1 [QSA,L] |
||
Kajman Profil |
#6 · Zasláno: 28. 3. 2015, 20:47:21
Stejný .htaccess jako v [#1] stačí dát i do složky admin.
|
||
Sobky Profil |
#7 · Zasláno: 28. 3. 2015, 20:51:01
neviem prečo al to nefunguje... netreba to .htacces v tej zložke aktivovať?
|
||
Davex Profil |
#8 · Zasláno: 28. 3. 2015, 22:10:50
Sobky:
Ten .htaccess v adresáři admin/ nemůže být úplně stejný. Je potřeba změnit RewriteBase /admin/ |
||
Sobky Profil |
#9 · Zasláno: 28. 3. 2015, 23:18:02
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 |
#10 · Zasláno: 28. 3. 2015, 23:46:52
Když teď máte adresy
example.com/admin/foo example.com/admin/bar 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 |
||
Sobky Profil |
#11 · Zasláno: 29. 3. 2015, 08:20:57
Tak teda nechám len to prvé a ked budem chcieť vypísať ?repair tak to budem vypisovať ?repair=stranka
Ďakujem za pomoc |
||
Časová prodleva: 9 let
|
0