Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Problem z htaccess Wersje językowe i Nice URL NoSpor-a
designez
post
Post #1





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 11.08.2012

Ostrzeżenie: (0%)
-----


Hej mam problem z przekierowaniem kod 1 używałem do tej pory wszelkie redirect tworzą loop detected kiedy headerem przekierowuje na wersję językową choć link fizycznie istnieje. Chcę zrobić to po stronie htaccess i tutaj działa 2 kod wykrywa wersję językową i przekierowuje. Problem jest kiedy chcę mieć funkcjonalność NICE URL i nie działa. Nie cierpię htaccess testowałem wiele rozwiązań i nic nie działa. Mam NICE URL Nospor-a i jak wrzucam https://domena.pl/pl/link,8.html to wszystko działa więc tutaj jest przygotowane. Chcę automatycznie przekierować użytkownika na konkretną wersję językową która bez parametrów wygląda tak https://domena.pl/pl/

Pozdrawiam


mam taki oto kod htaccess


RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php/$1 [L]

i taki 2 wersje językowe

RewriteCond %{HTTP:Accept-Language} ^en [NC]
RewriteRule ^$ https://www.%{HTTP_HOST}/pl/ [L,R=301]

RewriteCond %{HTTP:Accept-Language} ^de [NC]
RewriteRule ^$ https://www.%{HTTP_HOST}/pl/ [L,R=301]

RewriteCond %{HTTP:Accept-Language} ^nl [NC]
RewriteRule ^$ https://www.%{HTTP_HOST}/pl/ [L,R=301]

RewriteCond %{HTTP:Accept-Language} ^fr [NC]
RewriteRule ^$ https://www.%{HTTP_HOST}/pl/ [L,R=301]

RewriteCond %{HTTP:Accept-Language} ^pl [NC]
RewriteRule ^$ https://www.%{HTTP_HOST}/pl/ [L,R=301]



RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^(en|de|nl|fr|pl)/?$ index.php?/$1/ [L]

Ten post edytował designez 14.08.2018, 14:18:26
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
designez
post
Post #2





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 11.08.2012

Ostrzeżenie: (0%)
-----


Tak to też zrobiłem na razie chcę przebrnąć przez etap choć z domeny na domena.pl/pl/ potem będę się zastanawiał dalej.
Mam taki oto błąd ERR_TOO_MANY_REDIRECTS. Próbowałem różne wersje header-a /pl/ domena.pl/pl/ to samo

  1. function getBaseUrl()
  2. {
  3. $currentPath = $_SERVER['PHP_SELF'];
  4.  
  5. // output: Array ( [dirname] => /myproject [basename] => index.php [extension] => php [filename] => index )
  6. $pathInfo = pathinfo($currentPath);
  7. $hostName = $_SERVER['HTTP_HOST'];
  8. $protocol = 'https';
  9. return $protocol.'://'.$hostName;
  10. }
  11.  
  12. echo getBaseUrl();
  13. echo '<br>';
  14. echo Config::$siteURL;
  15. echo '<br>';
  16. if (getBaseUrl()==Config::$siteURL) {
  17. $lc = "";
  18. if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
  19. $lc = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
  20.  
  21.  
  22.  
  23. switch ($lc) {
  24. case 'pl':
  25. header("location: ".Config::$siteURL."/pl/");
  26. exit();
  27. break;
  28.  
  29. default:
  30. # code...
  31. break;
  32. }
  33. }
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 11:19