Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mod_rewrite] Problem z napisaniem pewnej reguły
Forum PHP.pl > Forum > Przedszkole
novum
Witam,

Mam w pewnym folderze w swoim skrypcie kilka plików odpowiadających za panel użytkownika. Po zalogowaniu użytkownik jest przenoszony w do /panel/panel.php. Chciałbym jednak ten adres skrócić za pomocą MR po prostu do /panel lub /panel/. Napisałem do tego celu dwie reguły, niestety żadna z nich nie działa:

Kod
RewriteRule ^panel/$ /panel/panel.php [L]
RewriteRule ^panel$ /panel/panel.php [L]


Czy ktoś z użytkowników forum wie, gdzie leży problem?

Kolejna sprawa to problem z wyświetlaniem zawartości strony, kiedy istnieje więcej zmiennych w adresie. Otóż mam plik rejestracja.php, rejestracja przebiega bez problemów. Skróciłem nazwę tego pliku do /rejestracja i pojawia sie taki problem, że po wpisaniu np. rejestracja/ (czyli adresu z ukośnikiem) strona sie ładuje, ale bez pliku css. Problem rozwiązałem przez dodanie "/" przed adres do zewnętrznego arkuszu stylów, ale czy takie rozwiązanie jest poprawne i czy nie posiada przypadkiem jakiś wad?
nexis
Po pierwsze musisz się upewnić czy twój serwer obsługuje mod-rewrite, a po drugie na początku pliku .htaccess musi wystąpić następująca linijka kodu:

  1. RewriteEngine On


Następnie najlepiej jak użyjesz takich reguł:

  1. RewriteEngine On
  2. RewriteCond %{REQUEST_FILENAME} !-f
  3. RewriteCond %{REQUEST_FILENAME} !-d
  4. RewriteRule  (.*) /index.php/$1


Linia 1: Włączenie przepisywania adresów.
Linia 2: Sprawdzenie czy w podanej lokalizacji nie występuje "fizycznie" plik.
Linia 3: Sprawdzenie czy w podanej lokalizacji nie występuje "fizycznie" folder.
Linia 4: Przepisanie adresu jeśli w/w warunki nie są prawdziwe.
Linia 5: (zawsze pusta)

Taka reguła jest bardzo uniwersalna i wszelkie osobiste zachcianki możesz już wykonać w kodzie korzystając z informacji ze zmiennej:

  1. <?php
  2. $_SERVER['REDIRECT_URL'];
  3. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.