| Autor | Zpráva | ||
|---|---|---|---|
| Pa_Tr_Ik Profil |
#1 · Zasláno: 31. 12. 2013, 19:17:11
Dobrý deň,
mám problém ktorý neviem vyriešiť ani za pomoci Googlu. Z dôvodu pekných URL som sa rozhodol použiť na webe mod_rewrite a sám s pomocou rôznych návodov o mod_rewrite sa snažím spraviť ten najideálnejší kód. Chcem docieliť toho aby keď užívateľ zadá domena.sk ho to presmerovalo na www.domena.sk, toto neni problém to zvládnem ale problém nastáva ak užívateľ zadá domena.sk/clanok/nazov-clanku/ a chcem aby ho to presmerovalo na www.domena.sk/clanok/nazov-clanku/ a zároveň podstrčilo stránku www.domena.sk/index.php?get=clanok/nazov-clanku/ , po dlhých experimentoch som zostrojil kód ktorý by mohol fungovať ale pri jeho spustení mi vyhodí chybu 500.
Môj terajší .htaccess RewriteEngine on
#Ak je doména s www tak podstrčí stránku
RewriteCond %{HTTP_HOST} ^www.domena\.sk [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) ./index.php?get=$1
#Ak doména je bez www tak ju presmeruje na doménu s www a podstrčí stránku
RewriteCond %{HTTP_HOST} ^domena\.sk [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) http://www.domena.sk/index.php?get=$1 [R=301]
RewriteRule (.*) ./index.php?get=$1
#Ak zapíšem 2x pod seba RewriteRule tak vyhodí chybu 500Vopred ďakujem za Vaše rady a prajem Vám šťastný Nový Rok :) |
||
| Yuhů Profil |
#2 · Zasláno: 31. 12. 2013, 20:01:33
RewriteCond může z logiky věci být pod jednou podmínkou jenom jedno. Napřed je potřeba přesměrovat na www, to není přepisování. Potom už je jasné, že požadavek je s www (klient posílá nový požadavek) a tam se potom může vesele podstrkávat. Sorry, jsem na mobilu, nedokážu to psát ani testovat.
|
||
| Pa_Tr_Ik Profil |
#3 · Zasláno: 31. 12. 2013, 20:16:44
Ďakujem. Ja som to robil tak ako ste to napísali, ale uvedomil som si že to robím zle.
Podobný princíp ale s CHYBOU RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.domena\.sk [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) ./index.php?get=$1
RewriteCond %{HTTP_HOST} ^domena\.sk [NC]
RewriteRule (.*) http://www.domena.sk/index.php?get=$1 [R=301]
RewriteCond %{HTTP_HOST} ^domena\.sk [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) ./index.php?get=$1Kód ktorý mi funguje. RewriteEngine on
RewriteCond %{HTTP_HOST} ^domena\.sk [NC]
RewriteRule (.*) http://www.domena.sk/$1 [R=301]
RewriteCond %{HTTP_HOST} ^www.domena\.sk [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) ./index.php?get=$1Ešte raz Vám ďakujem :) |
||
|
Časová prodleva: 12 let
|
|||
0