Apache2 - jak usunać index.php z adresu url w pliku .htaccess


VN:F [1.9.22_1171]
Ocena: 0.0/10 (0 ocen)

Ostatnio podczas pisania routera dla URLi stanąłem przed pewnym problemem. Otóż do treści strony można było dostać się w dwojaki sposób:

www.strona.pl/moja/podstrona
oraz
www.strona.pl/index.php/moja/podstrona

Oczywiście google traktuje to jakie dwie różne strony o tej samej treści, co może prowadzić do obniżenia wartości domeny.

Odpowiedzią jest zmodyfikowanie pliku .htaccess (lub utworzenie w głównym katalogu strony, jeśli takiego nie mamy):

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

W wordpressie trzeba też zmienić w Ustawienia/Bezpośrednie odnośniki w polu 'własny format'. Podajemy tam format budowy linków. Wzór można zbudować ze zmiennych:

* %year% – dodaje rok
* %monthnum% – dodaje miesiąc
* %day% – dodaje dzień
* %hour% – dodaje godzinę
* %minute% – dodaje minutę
* %second% – dodaję sekundę
* %postname% – dodaje nazwę Twojego postu
* %post_id% – dodaje unikalny numer do postu
* %category% -dodaje nazwę kategorii
* %author% -dodaje nick autora dodanego posta

np. /%category%/%author%/%post_id%/%postname%.

To wszystko.