Autor | Zpráva | ||
---|---|---|---|
Cerveny Profil |
#1 · Zasláno: 12. 2. 2017, 01:24:55
Zdravím, mám menší web (cca 300 podstránok) a potrebujem všetky url s výnimkou jednej presmerovať na https.
URL sú v takomto tvare a malo by to vyzerať nejak takto: http://domena.com/hra/ -> https://domena.com/hra/
https://domena.com/hra/ -> https://domena.com/hra/
výnimka: http://domena.com/nossl_hra/ -> http://domena.com/ssl_hra/
https://domena.com/nossl_hra/ -> http://domena.com/ssl_hra/
Vie niekto poradiť? |
||
Kajman Profil |
#2 · Zasláno: 12. 2. 2017, 11:36:48
Možná něco takového
RewriteEngine On RewriteCond %{SERVER_PORT} !="443" RewriteCond %{REQUEST_URI} !^nossl_hra/ RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=302,L,NE] RewriteCond %{SERVER_PORT} ="443" RewriteRule ^(nossl_hra/.*)$ http://%{HTTP_HOST}/$1 [R=302,L,NE] #pripadna dalsi pravidla |
||
Cerveny Profil |
#3 · Zasláno: 13. 2. 2017, 01:28:34
Ďakujem, použil som to a pridal pôvodné pravidlá ale stránka sa nezobrazí. Prehliadač vypíše chybu ERR_TOO_MANY_REDIRECTS.
Skúšal som posledných pár hodín niečo vymyslieť ale som v tom stratený. Obsah htaccess: RewriteEngine On RewriteCond %{SERVER_PORT} !="443" RewriteCond %{REQUEST_URI} !^/game/nossl-game RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=302,L,NE] RewriteCond %{SERVER_PORT} ="443" RewriteRule ^(/game/nossl-game.*)$ http://%{HTTP_HOST}/$1 [R=302,L,NE] RewriteRule ^(src/|cache/|webmaster/(?!templates)|vendor/) - [F,L,NC] RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$ RewriteRule ^(.*) - [E=BASE:%1] RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteRule ^index\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L] RewriteCond %{REQUEST_FILENAME} -f RewriteRule .? - [L] RewriteRule .? %{ENV:BASE}/index.php [L] |
||
Kajman Profil |
#4 · Zasláno: 13. 2. 2017, 12:30:06
Mezi řádky 4 a 5 zkuste přidat podmínku jako na řádku 15. (Aby to nepřesměrovalo ani index.php, který byl podstrčen dalšími pravidly.)
Také si nejsem jistý uvodním lomítkem na čtvrtém řádku, raději bych použil ^/?game |
||
Časová prodleva: 6 let
|
0