Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Serwery WWW _ [htaccess] jeden plik php dwie wersje jezykowe

Napisany przez: blokern 22.02.2021, 18:32:19

Hej podpowiedzcie prosze w jaki sposob ustawic htaccess zeby url

domena.pl i domena.pl/en
kierowala do pliku index.php ktory jest w glownym folderze

domena.pl/rejestracja i domena.pl/en/rejestracja
kierowala do pliku rejestracja.php ktory jest w glownym folderze

domena.pl/logowanie i domena.pl/en/logowanie
kierowala do pliku logowanie.php

itd
po stronie serwera wyciagam z urla jaka to jest wersja jezykowa i podstawiam odpowiednią treść ale

zrobilem tak:

  1. RewriteRule ^(.*)$ <a href="https://www.domena.pl/(.*)$1" target="_blank">https://www.domena.pl/(.*)$1</a> [R,L]
  2.  
  3. RewriteRule ^(.*)rejestracja(.*)$ rejestracja.php [L]
  4. RewriteRule ^(.*)en/rejestracja(.*)$ rejestracja.php [L]


ale obawiam sie ze nie jest to najlepsze rozwiazanie

Napisany przez: LowiczakPL 22.02.2021, 22:21:16

Jeśli domena.pl i domena.pl/en przez htaccess ma kierować na index.php to skąd będziesz wiedział jaką wersję masz pokazać, jak rozpoznasz że to PL czy EN,

Jeśli rozpoznajesz ten adres domena.pl / domena.pl/en to dlaczego nie zrobisz sobie tylko jeden plik index,php i w nim zrób sobie rozpoznawanie jaka ścieżka jest aktualnie do pokazania, czy to główna, logowanie czy rejestracja i jaka wersja językowa.

Napisany przez: trueblue 23.02.2021, 09:07:15

Kod
RewriteCond %{REQUEST_URI} ^/en/(.*?.php)$
RewriteRule .* index.php?lang=en&file=%1 [L]

RewriteCond %{REQUEST_URI} ^/(.*?.php)$
RewriteRule .* index.php?lang=pl&file=%1 [L]

Napisany przez: LowiczakPL 23.02.2021, 10:25:03

Jeśli chcesz jedynie htaccess to dla Twoich założeń ten kod powinien pomóc

Kod
    RewriteEngine On
    RewriteRule ^(/*)$ index.php [L]
    RewriteRule ^(.*)en(/*)$ index.php [L]
    RewriteRule ^(.*)rejestracja(/*)$ rejestracja.php [L]
    RewriteRule ^(.*)en/rejestracja(/*)$ rejestracja.php [L]


jest tu przekierowanie na plik index.php oraz na plik rejestracja.php

Napisany przez: trueblue 23.02.2021, 12:17:20

Chyba nie do końca.
Vide:
http://domena.pl/jeden/
http://domena.pl/jeden/rejestracja/
http://domena.pl/blablablarejestracja/

Napisany przez: LowiczakPL 24.02.2021, 09:59:02

jak nie do końca, jak pytanie wyraźnie dotyczy

domena.pl i domena.pl/en
kierowala do pliku index.php ktory jest w glownym folderze

domena.pl/rejestracja i domena.pl/en/rejestracja
kierowala do pliku rejestracja.php ktory jest w glownym folderze

nie ma w nim mowy o jeden ani o blablabla baaasmiley.gif

Napisany przez: trueblue 24.02.2021, 11:40:51

Co nie znaczy, że niepoprawne URL ma również przekierowywać.
Gdybyś potraktował reguły w kategorii stricte wyrażeń regularnych, to też byś tak argumentował? Spoko...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)