Skocz do zawartości

problem z .htaccess


Tiu

Rekomendowane odpowiedzi

Witam,

mam problem i zastanawiam się czy uda się to rozwiązać :).

Kod w .htaccess mam taki:

Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_URI} ^\/index.php$
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^(.*)$ https://domena.pl? [L,R=301]

RewriteRule ^test/1?$ index.php?pid=1 [L]

Problem polega na tym, ze jak fizycznie wpisze index.php?pid=1 to jest to samo co test/1, a chciałbym, aby jak ktos wpisze index.php?pid=1 to przekieruje na test/1. Póki co oba adresy sa dostepne. Kobinowałem na wiele sposobów, ale nie udało mi się uzyskać powyższego efektu. Może ktoś wie jak to zrobić?

Dzięki za sugestie i pomoc ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Pobaw się z {REQUEST_URI} oraz {QUERY_STRING} - jak będzie tam index.php oraz pid = ([0-9+]) to 301 na przepisany adres :P

Problem polega na tym, że kombinowałem chyba na wszystkie możliwe sposoby i nie mogę tego rozwiązać. Wiem, że to "błacha" sprawa, ale jakoś mnie przerasta. Dodam, że mam serwer w home.pl i jak kombinowałem np tak:

RewriteCond %{REQUEST_URI} ^\/index.php$
RewriteCond %{QUERY_STRING} ^pid=1$
RewriteRule ^(.*)$ https://domena.pl/test/1? [L,R=301]

to dostawałem "błąd" tzn. wtedy strona działa pod pid=1 a pod test/1 jest błąd 404

Odnośnik do komentarza
Udostępnij na innych stronach

jeszcze tak żeby co nieco rozjaśnić każdy pid przekierowuje na coś innego tj.

np.

index.php?pid=1 na test/1

index.php?pid=2 na test/2/cos

index.php?pid=3 na test/3/costama

itd.

Ktoś wie jak to zrobić, żeby działało w 100% z przekierowaniem 301? :D

Odnośnik do komentarza
Udostępnij na innych stronach

jeszcze tak żeby co nieco rozjaśnić każdy pid przekierowuje na coś innego tj.

np.

index.php?pid=1 na test/1

index.php?pid=2 na test/2/cos

index.php?pid=3 na test/3/costama

itd.

Ktoś wie jak to zrobić, żeby działało w 100% z przekierowaniem 301? ;)

może ktoś mógłby podać link do jakiegoś tutoriala w którym jest przykład z przekierowaniem 301 po "index.php?id=zmienna"?

Czy naprawde nikt nie wie jak to rozwiązać?

Odnośnik do komentarza
Udostępnij na innych stronach

Czy naprawde nikt nie wie jak to rozwiązać?
Czy naprawdę tak trudno to samodzielnie poszukać i zrobić !

Nie czekaj na gotowca, bo jak to zrobić masz tysiące przykładów!

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Czy naprawde nikt nie wie jak to rozwiązać?
Czy naprawdę tak trudno to samodzielnie poszukać i zrobić !

Nie czekaj na gotowca, bo jak to zrobić masz tysiące przykładów!

Gdybym wiedział jak to zrobić to nie zadawałbym pytań.

Nie oczekuje, że ktoś to zrobi... tylko, że ktoś mnie pokieruje na właściwe tory.

Chciałbym zauważyć, że nie chodzi mi o "zwykłe" przepisywanie adresu - bo tak w tej chwili działa. Natomiast chciałbym zrobić z tego przekierowanie 301. (aby adres np. index.php?pid=2 przekierowywał na domena.pl/test/2/cos i to nie działa).

Zamiast pisać komentarz nic nie wnoszący do wątku... mógłbyś podać te tysiące przykładów ;)

Odnośnik do komentarza
Udostępnij na innych stronach

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Dzięki, ale zanim zapytałem na forum to przeszukałem w google (łącznie z FAQ tutaj na forum). Niestety te przykłady mimo, iż dobre nie mają zastosowania w moim przypadku.

Mam 2 pytania:

1. Czy to

RewriteCond %{REQUEST_URI} ^\/index.php$

RewriteCond %{QUERY_STRING} ^$

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

może się gryźć z tym

RewriteCond %{REQUEST_URI} ^\/index.php$

RewriteCond %{QUERY_STRING} ^pid=1$

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

2. Czy można zrobić przekierowanie 301 z index.php?pid=1 na /test/1 (mimo iż fizycznie nie ma takiego pliku/folderu - mam na myśli w tym przypadku test/1) ?

W tym wątku https://www.forum.optymalizacja.com/index.php?showtopic=92815 użytkownik "worm4" ma zbliżony problem tylko, że ja chciałbym przekierować na inna stronę (której fizycznie nie ma) a nie na domene główną.

Czy to moje przkierowanie 301 jest w ogole możliwe ? :)

Odnośnik do komentarza
Udostępnij na innych stronach

2. Czy można zrobić przekierowanie 301 z index.php?pid=1 na /test/1 (mimo iż fizycznie nie ma takiego pliku/folderu - mam na myśli w tym przypadku test/1) ?
Tak, można. Możesz przekierować żądanie nawet na stronę białego domu lub NASA na folder admina nie ma ograniczeń co do docelowej lokalizacji.

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Przekierowanie działa, jednak otrzymuje błąd 404. Co ciekawe jeśli ustawie inną zmienną, która "nie jest przyporządkowana" to przekierowanie działa.

RewriteCond %{QUERY_STRING} ^pid=1$
RewriteRule ^index\.php$ https://www.domena.pl/test/1? [R=301,L]

Może ktoś wie gdzie leży błąd? Mnie już ręce opadają ;)

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