Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne] Usunięcie slasha na końcu adresu URL
Forum PHP.pl > Forum > Przedszkole
Gość
Tutaj znalazłem kod wymuszający slash na końcu adresu:
http://poradnik-seo.pl/optymalizacja/wymus...od-rewrite.html
ale ja chciałbym właśnie usuwać tego slasha, więc jak można ten kod przerobić, żeby to wykonywał?
modern-web
Sprawdź ostatni człon adresu URL, jeśli za / nic nie ma, usuń go, tyle w temacie.
lukasamd
Chyba najbardziej uniwersalne, wrzucone przed innymi regułami będzie przekierowywało na bez-slashowe adresy:

Kod
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\/$ $1 [L,R=301]
erix
PS. Jeśli istnieje katalog taki, jak nazwa przekierowania, to za Chiny ukośnika z końca nie usuniesz.
modern-web
A skad pewnosc, ze jest to sciezka do katalogu? Zakladamy jednak, ze to jest zbior danych w jednym parametrze.
lukasamd
No tak, przecież chyba nie po to się robi takie przekierowania.

Dla testu zrobiłem:

  1. RewriteEngine On
  2. RewriteBase /
  3.  
  4. RewriteCond %{REQUEST_FILENAME} !-f
  5. RewriteCond %{REQUEST_FILENAME} !-d
  6. RewriteRule ^(.*)\/$ index.php?val=$1 [L,R=301]


i w index.php wyświetlanie tego co w get.
Potem utworzyłem katalog t1, więc wyglądało to tak:

.
./index.php
./t1

Po próbie odpalenia:
adres/t1/costam/

Poprawnie przekierowało na index.php i wyświetliło t1/costam
Po tym co napisał erix sądziłem, że to nie zadziała.

Oczywiście gdy dałem kod po prostu na usuwanie slasha (bez kierowanie do index.php) to też było ok.
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.