Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mod_rewrite] Problem z napisaniem pewnej reguły
-novum-
post 2.05.2008, 21:24:42
Post #1





Goście







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?
Go to the top of the page
+Quote Post
nexis
post 2.05.2008, 22:16:06
Post #2





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

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


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. ?>


Ten post edytował nexis 2.05.2008, 22:20:31


--------------------
Zend Certified Engineer

Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 13:35