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 500 Vopred ď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=$1 Kó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=$1 Ešte raz Vám ďakujem :) |
||
Časová prodleva: 11 let
|
0