HostingInnePHP

Jak wymusić przepisywanie URL na małe litery w Apache za pomocą .htaccess?

W jednym z projektów PHP, które prowadzę, pojawiła się pilna i nagła potrzeba wymuszenia małych liter dla wszystkich adresów URL. Jako, że oczywiście wszystko musi być skończone „na wczoraj”, postanowiłem zrobić to za pomocą pliku .htaccess. Poniżej znajdziesz rozwiązanie, które wykorzystałem.

Aby wykorzystać pewne własności wyrażeń regularnych, musiałem przygotować odpowiednio samego Apache‚a – bo z niego korzysta projekt.

Zmiana w pliku httpd.conf

Na samym końcu pliku httpd.conf dodałem następującą linię.

RewriteMap malelitery int:tolower

Gdzie znaleźć plik httpd.conf? Kliknij w ten link, aby się dowiedzieć.

Potrzebny był jeszcze restart usługi Apache, aby zmiany zaczęły być widoczne.

Zmiana w pliku .htaccess

Jeśli już korzystasz z przepisywania adresów, możesz pominąć pierwszą linię z poniższego listingu. Dwie kolejne natomiast odpowiadają za przekierowanie adresu z kodem odpowiedzi 301, z użyciem wyżej napisanego polecenia. Taki adres dla wyszukiwarki będzie tożsamy ze starym (ściślej mówiąc wyszukiwarka zostanie poinformowana, że stary adres został permanentnie przeniesiony na nowy – w tym przypadku pisany małymi literami).

RewriteEngine On
RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule (.*) ${malelitery:$1} [R=301,L]

Krótko? Ale o czym pisać więcej. Mam nadzieję, że komuś się to jeszcze przyda.

Tagi:.htaccessDaj Się Poznać 2017httpd.confmałe literyprzekierowanie

Brak komentarzy

Napisz komentarz jako pierwszy!

Zostaw odpowiedź