Skocz do zawartości

[.htaccess] drobny problem


Jaason^312

Rekomendowane odpowiedzi

Witam

Zacząłem bawić się htaccess i chcę zrobić przekierowanie z jednego adresu typu /samolot/nazwa/ albo /samolot/nazwa

na samolot.php?nazwa=$nazwa

jednak moje regułki niezbyt dobrze się sprawdzają. czasami otworzy stronę, jednak jest ona tak jakby wczytana bez dokumentu css i wszystkich dodatków.

czy ktoś wie co tu może być źle?

RewriteEngine On
RewriteBase /
RewriteRule ^/samolot/([a-zA-Z]+)$ /samolot/$1/ [R]
RewriteRule ^/samolot/([a-zA-Z]+)/$ samolot.php?nazwa=$1

Odnośnik do komentarza
Udostępnij na innych stronach

To nie jest problem z htaccess

Błąd wynika z tego że gdy otorzysz strone o takim adresie: www.mojastron.pl/asamolot/nazwa/

to przeglądarka prawdopodobnie szuka plików styli i grafiki w katalogu: nazwa A taki katalog w rzeczywistości nie istnieje.

Dwa rozwiązania

1. Albo zmień format linków na taki aby nie było w nim "/"

2. Albo do każdego pliku: styli, grafiki, flash, js, itp podaj ścieżkę bezwzględną. Jezeli adres zagłębia się tylko do jednego podkatalogu, to możesz podać ściezki tego typu: src="/galeria/img.jpg"

.

Odnośnik do komentarza
Udostępnij na innych stronach

dzięki za wartościowe odpowiedzi :]

zmieniłem formułkę trochę tak, że teraz nie chcę uzyskać samolot/nazwa tylko samolot-nazwa

dorzuciłem do pliku wykonującego bezpośrednie linki do stylów i teraz wyświetla dobrze i jak wpiszę

https://www.strona.com/samolot-nazwa/ to jest ok, strona się wyświetla, jednak jak to samo zrobię bez slasha na końcu to niestety pusto 404

wzorowałem się na tym: https://home.pl/pomoc/2359

RewriteEngine On
RewriteRule ^samolot-([a-zA-Z]+)$ samolot-$1/ [R=301]
RewriteRule ^samolot-([a-zA-Z]+)/$ samolot.php?nazwa=$1

zauważyłem jeszcze jedną rzecz jak w nazwie mam np. nie tylko same litery np. samolot-f-16

tzn. z tym znaczkiem "-" który pojawia się na różnych pozycjach to wtedy regułka ta tego nie obsłuży...

Odnośnik do komentarza
Udostępnij na innych stronach

Sprawdź na co Cię przekierowuje pierwsza reguła. Być może wystarczy dać w adresie docelowym "/" na początku.

Żeby uwzględnić inne znaki w nazwie samolotu daj je w nawiasach klamrowych, np. [a-zA-Z0-9-].

Polecam moje pluginy do WordPress'a: WyPiekacz, Meta SEO Pack, User Locker, Google Integration Toolkit i wiele innych :)

Poradnik Webmastera ‰ Ostatnio na blogu:

PoradnikWebmastera-Blog.1.gif

Odnośnik do komentarza
Udostępnij na innych stronach

pierwsza reguła otwiera mi stronę 404 z adresem: https://localhost/usr/local/apache2/htdocs/...amolot-thunder/

dodałem regułkę

RewriteRule ^samolot-([a-zA-Z0-9-]+)/$ samolot.php?nazwa=$1

jednak nie pomogło

poprawka: udało się zamiast - wpisałem _ bo ten znaczek się u mnie pojawiał, jeszcze tylko problem z /

Odnośnik do komentarza
Udostępnij na innych stronach

Spróbuj

RewriteRule ^samolot-([a-zA-Z0-9-]+)$ /samolot-$1/ [R=301,L]

A jeżeli to nie pomoże, daj

RewriteRule ^samolot-([a-zA-Z0-9-]+)$ https://www.adres.pl/samolot-$1/ [R=301,L]

Polecam moje pluginy do WordPress'a: WyPiekacz, Meta SEO Pack, User Locker, Google Integration Toolkit i wiele innych :)

Poradnik Webmastera ‰ Ostatnio na blogu:

PoradnikWebmastera-Blog.1.gif

Odnośnik do komentarza
Udostępnij na innych stronach

na serwerze zewnętrznym działa ;]

btw: robię teraz przekierowanie 301, tzn zamierzam, wrzuciłem do tego samego pliku htaccess dodatkowe linijki, gdyż chciałem by zamieniało mi cały czas na stronkę z www.

jednak ani regułki z tej strony: https://httpd.apache.org/docs/2.0/misc/rewriteguide.html ani np. ta:

RewriteCond %{HTTP_HOST} ^strona.com.pl
RewriteRule ^(.*)$ https://www.strona.com.pl/$1 [R=301, L]

nie działa... czy może źle coś robię?

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • 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