htaccess przekierowania kqs

Wiele sklepów KQS.store w ostatnim czasie ma problemy z działaniem koszyka, po dodaniu produktu do koszyka przenosi go na stronę koszyk.html która nie istnieje. Problem leży w braku odpowiednich komend przekierowania w pliku .htaccess na serwerze. Plik .htaccess znajduje się w każdej aktualizacji sklepu którą dostajemy na e-mail. Podczas wgrywania aktualizacji, automatycznie nadpisywany jest stary plik nowym, dlatego jeśli dokonywaliśmy zmian w tym pliku to musimy je wprowadzić też w nowym ( lub nie nadpisywać pliku a jedynie przenieść nowe komendy do swojego pliku ).

Aktualna wersja pliku .htaccess ( KQS.store 4.3 ) wygląda następująco:

htaccess kqs

Plik .htaccess do wersji KQS.store 4.3 do pobrania TUTAJ: htaccess-kqs-store

Po ostatnich zmianach w sklepie KQS pojawiły się przyjazne linki dla stron koszyka, logowania, rejestracji oraz innych podstron. Oznacza to, że link do podstrony koszyka nie będzie w postaci www.twojadomena.pl/index.php?d=koszyk a będzie wyglądał tak: www.twojadomena.pl/koszyk.html

Oczywiście dotyczy to sklepów które mają włączoną funkcję mod_rewrite na serwerze oraz włączoną opcję w konfiguracji sklepu KQS :

Ustawienia / Konfiguracja – po prawej stronie w dziale Pozostałe jest opcja :

Włącz odnośniki .html (wymaga aktywnego mod_rewrite)

mod rewrite kqs

Bez www czy z www

Dodatkowo zachęcam jeszcze do zrobienia przekierowania domeny sklepu z www na bez www lub odwrotnie – unikniemy tym samym podwójnego linkowania sklepu przez wyszukiwarkę google. Oczywiście nie ma znaczenia czy domena będzie z przedrostkiem www czy bez niego, ale często jest tak, że google zaindeksuje sobie domenę sklepu z przedrostkiem www,  a my linkujemy domenę bez tego przedrostka ( następuje duplicate content ).

Wtedy warto dodać do pliku .htaccess komendę która sprawi że przekierujemy odpowiednio wszystkie swoje linki z bez www na adres z przedroskiem www lub na odwrót. Wystarczy dodać wpis do pliku w postaci :

RewriteCond %{HTTP_HOST} ^www.adrestwojegosklepu.pl(.*) [NC]

RewriteRule ^(.*)$ http://adrestwojegosklepu.pl/$1 [R=301,L]

A dla sklepów posiadających certyfikat SSL podajemy w drugiej linijce kodu https ( zamiast http )

RewriteCond %{HTTP_HOST} ^www.adrestwojegosklepu.pl(.*) [NC]

RewriteRule ^(.*)$ https://adrestwojegosklepu.pl/$1 [R=301,L]

co oznacza że wszystkie linki z przedrostkiem www zostaną przekierowane na stronę bez przedrostka. Jeśli chcemy by jednak był przedrostek, wtedy robimy na odwrót czyli:

RewriteCond %{HTTP_HOST} ^twojadomena.pl(.*) [NC]

RewriteRule ^(.*)$ http://www.twoja domena.pl/$1 [R=301,L]

Adres SSL i certyfikat

Przy sklepach które mają wykupiony certyfikat SSL, także należy zrobić przekierowanie gdyż certyfikat kupowany jest na domenę ( z przedrostkiem www lub bez przedrostka ). Wtedy podajemy komendę https://www.twoja domena.pl/ zamiast http://www.twoja domena.pl/

Ostatnią sprawą jest fakt, że często stroną główną sklepu jest strona index.php lub index.html – należy wykonać jeszcze jedno przekierowanie dodając wpis :

RewriteRule ^index\.php$ http://twojastrona.pl/$1 [R=301,L]

lub z przedrostkiem www – w zależności jaki efekt chcemy uzyskać.

A czy Wy znacie jakieś ciekawe przekierowania ?

5 thoughts on “htaccess sklepu i seo

  1. w końcu jakiś ciekawe informacje bo miałem stare linki z php costam id ogólnie jakas masakra, a to się na pewno przyda w sklepie. Czy są jeszcze jakieś fajne sztuczki do KQSa które można dać do sklepu ?

    1. To zależy co Pana interesuje – najlepiej posprawdzać wpisy na blogu i może coś wpadnie w oko. Zachęcam też do obserwowania bo co chwile pojawiają się nowe wpisy z zakresu ustawień czy konfiguracji sklepu KQS. Można też wysyłać do mnie pomysły na wpis, wtedy szczegółowo opiszę działanie lub ustawienia danego elementu i umieszczę wpis priorytetowo.

  2. A jak zrobić przekierowanie wyszukiwarki? 🙂
    Bo w htacces jest tylko reguła:
    RewriteRule ^szukaj.html$ index.php?d=szukaj [L]
    a gdy coś wpiszemy w wyszukiwarce to pojawia się odnośnik:
    index.php?d=szukaj&dostepny=1&szukaj=nazwaproduktu
    dodałem regułę:
    RewriteRule ^szukaj,d([0-9]+),p(.*?).html index.php?d=szukaj&dostepny=$1&szukaj=$2 [QSA]
    ale nie działa 😉

  3. Niestety nie znam rozwiązania. Działa to dokładnie tak jak Pan napisał…ręczne wysyłanie adresu jest OK, ale automatycznie z wyszukiwarki nie przekieruje.

Dodaj komentarz