Skocz do zawartości

Problem z .htaccess i mod_rewrite


hcuzrb
 Udostępnij

Rekomendowane odpowiedzi

Mam problem z napisaniem poprawnych regul w .htaccess - albo dziala czesc rzeczy, albo nic. Bardzo prosze o pomoc i wskazowki, dla poczatkujacej osoby, ktora dopiero sie uczy.

Musze zrobic 3 rodzaje przekierowan:

1. index.php?name=strona na strona.html
2. news.php?news=10&name=tytul-newsa na news/tytul-newsa.html
3. https://www.adresstrony.pl/ssl/strona.php na ktores z tych (nie ma znaczenia ktore, wybiore to ktore najprosciej zrobic):
- https://www.adresstrony.pl/strona.html
- https://ssl.adresstrony.pl/strona.html
- https://www.adresstrony.pl/ssl/strona.html

Przy okazji jeszcze - jak mozna rozwiazac w inny sposob niz adresowanie bezposrednie, linkowanie do css np. po przekierowaniu na news/strona.html, jezeli w dolaczanym pliku z katalogu glownego maja linki w postaci css/arkusz.css?

Wrzucam moj .htaccess, ktory sam wykombinowalem i nie chce dzialac:

DirectoryIndex index.html index.php
Options FollowSymLinks
Options -Indexes
RewriteEngine on
RewriteCond %{HTTP_HOST} ^adresstrony\.pl$
RewriteRule (.*) https://www.adresstrony.pl/$1 [R=301,L]
RewriteRule ^([a-zA-Z0-9_-]+)\.html$ index.php?name=$1 [L]
RewriteRule ^news/([a-zA-Z0-9_-]+)\.html$ news.php?&name=$1 [QSA, L]
RewriteRule ^https://www\.adresstrony\.pl/ssl/([a-zA-Z0-9_-]+).html ssl/strona.php [L]

Odnośnik do komentarza
Udostępnij na innych stronach

RewriteRule ^([a-zA-Z0-9_-]+)\.html$ index.php?name=$1 [L]

Niby dobrze.

RewriteRule ^news/([a-zA-Z0-9_-]+)\.html$ news.php?&name=$1 [QSA, L]

Nie przekazujesz wartości "news=10", myślę że będzie potrzebna.

RewriteRule ^https://www\.adresstrony\.pl/ssl/([a-zA-Z0-9_-]+).html ssl/strona.php [L]

RewriteRule nie sprawdza całego adresu wywołania (https://www.adresstrony.pl).

Do poczytania https://www.forum.optymalizacja.com/index.php?showtopic=62516

Nie znam się na pozycjonowaniu, ja tu tylko zużywam transfer i miejsce w sql.

Roman Kluska ujawnia: nadchodzi INFLACYJNY ARMAGEDON!

 

Odnośnik do komentarza
Udostępnij na innych stronach

Ok, poradzilem sobie i podaje gotowe rozwiazanie dla zainteresowanych:

W katalogu glownym:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^adresstrony\.pl$
RewriteRule (.*) https://www.adresstrony.pl/$1 [R=301,L]
RewriteCond %{HTTPS} on
RewriteRule (.*) https://www.adresstrony.pl/$1 [R=301,L]
RewriteRule ^([a-zA-Z0-9_-]+)\.html$ index.php?name=$1 [L]
RewriteRule ^news/([a-zA-Z0-9_-]+)-([a-zA-Z0-9_-]+)\.html$ news.php?news=$1&name=$2 [QSA]

W katalogu ssl:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.adresstrony.pl/ssl/$1 [R,L]

Edytowane przez hcuzrb
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
 Udostępnij

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności