Rok założenia: 2008Kontakt
wszystko o serwisach WWW, głównie od strony technicznej (XHMTL, CSS, PHP, MySQL)
Poinformuj znajomych o tym wątku
Poinformuj znajomych na Facebook-u o tym wątku Poinformuj innych ludzi na Wykopie o tym wątku Poinformuj znajomych na Twitter-ze o tym wątku Poinformuj znajomych na Blip-ie o tym wątku Poinformuj znajomych na Buzz-ie o tym wątku Poinformuj znajomych na GG o tym wątku
 
Witam serdecznie :)

Przygotowałem swoją pierwszą witrynę pod program partnerski. Kupiłem domenę i serwer. Chcę teraz "tylko" zamaskować moje linki partnerskie. Dla mnie to "tylko" stało się dużym problemem...

Paweł Landzberg korzysta z tego samego hostingu co ja, wysłał do mnie treść swojego .htaccess'a,
która zawiera identyczne reguły jakie ja chcę wykorzystać w swoim .htaccess'ie. Wygląda on tak:

Kod: Zaznacz wszystko
RewriteEngine On
Options +FollowSymLinks
RewriteBase /
RewriteCond %{HTTP_HOST} ^domena.pl [NC]
RewriteRule ^(.*)$ http://www.domena.pl/$1 [R=301,L]
Redirect /zamaskowany.html http://allegro.pl [R=301,L]


Zgodnie z sugestiami Pawła usunąłem wszystkie slash'e ("/") na końcu moich linków,
zostawiłem 1 linię pustą po wszystkich regułach w .htaccess'ie.

Zmieniłem edytor na notepad++ i kodowanie na UTF-8 (bez BOM).
Teraz nie są dopisywane na początku mojego kodu dziwne znaczki w ASCII,
na co zwróciła uwagę obsługa hostingu.

Dokładnie mój .htaccess wygląda tak:

Kod: Zaznacz wszystko
RewriteEngine On
Options +FollowSymLinks
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.moja-domena.pl$ [NC]
RewriteRule ^(.*)$ http://moja-domena.pl/$1 [R=301,L]
Redirect /zamaskowany.html http://strona-organizatora.pl/nazwapartnera,1 [R=301,L]



Wg. obsługi hostingu
[Błąd z loga apache: /home/mojanazwa/public_html/.htaccess: Redirect: invalid first argument (of three)]
błąd jest w tym wpisie:
Kod: Zaznacz wszystko
Redirect /zamaskowany.html http://strona-organizatora.pl/nazwapartnera,1 [R=301,L]


Jakim cudem u Pawła ta reguła działa, a u mnie jest błąd 500 ?
Jaki powinien być poprawny zapis w moim przypadku?


Z góry dziękuję za pomoc,
Pozdrawiam.

P.S.

Podane przeze mnie nazwy domen nie są moje
i zostały wykorzystane w celu przedstawiania problemu ;)

Konsultant FM Group
 
Posty: 509
Rejestracja: 23 Lut 2010


Maskowanie linku za pomocą .htaccess

Postprzez Paweł Landzberg
napisane: 23 Lut 2010, o 21:48

  • Poinformuj znajomych na Facebook-u o tym wątku
  • Poinformuj innych ludzi na Wykopie o tym wątku
  • Poinformuj znajomych na Twitter-ze o tym wątku
  • Poinformuj znajomych na Blip-ie o tym wątku
  • Poinformuj znajomych na Buzz-ie o tym wątku
  • Poinformuj znajomych na GG o tym wątku
 
Strasznie dziwna sprawa. Ja już wyczerpałem swoje pomysły. U siebie zawsze testuje sobie dodatkowo dodając i usuwając slashe na końcu zamaskowanego linku oraz strony, na którą jest przekierowanie. W niektórych przypadkach występuje błąd 404, dlatego testuje i wybieram działający wariant. Ale nigdy nie zdarzył mi się błąd 500.

Może ktoś ma jakieś sugestie w tej materii??

Awatar użytkownika
Paweł Landzberg
 
Posty: 2428
Rejestracja: 14 Wrz 2008
Miejscowość: Brzeźno Wielkie

 
Log dobrze krzyczy, bo masz nieprawidłową składnię - poplątałeś składnię dwóch niezależnych poleceń.

Popraw ostatni wiersz:
Kod: Zaznacz wszystko
Redirect /zamaskowany.html http://strona-organizatora.pl/nazwapartnera,1 [R=301,L]


na:
Kod: Zaznacz wszystko
Redirect 301 /zamaskowany.html http://strona-organizatora.pl/nazwapartnera,1


lub:
Kod: Zaznacz wszystko
RewriteRule ^\/zamaskowany\.html$ http://strona-organizatora.pl/nazwapartnera,1 [R=301,L]


Oba wpisy robią to samo. Pierwszy sposób, to mechanizm serwera WWW (Apache mod_alias) - nie wymaga modułu mod_rewrite. Jeśli chcesz tylko przekierowywać zamaskowany link partnerski, to nie potrzebujesz pozostałych wpisów (które tu podałeś) w .htaccess.
Składnia:
Redirect <tryb:(301|permanent|302|temp|303|seeother|410|gone)> <URI_przekierowywany> <docelowy URI>
Dokumentacja Apache:mod_alias:Redirect

Drugi sposób wymaga modułu mod_rewrite.
RewriteRule <dopasowanie_URI> <nowy_adres_URI> <parametry_dodatkowe>
Dokumentacja Apache:mod_rewrite:RewriteRule


Napisz, którą opcję wybrałeś i czy działa. Jeśli nie zadziała, to tym bardziej napisz - będziemy działać dalej.

Awatar użytkownika
Tomasz Fabiszak
 
Posty: 443
Rejestracja: 29 Sie 2009
Miejscowość: Poznań

A czemu u mnie działa?

Postprzez Paweł Landzberg
napisane: 24 Lut 2010, o 20:05

  • Poinformuj znajomych na Facebook-u o tym wątku
  • Poinformuj innych ludzi na Wykopie o tym wątku
  • Poinformuj znajomych na Twitter-ze o tym wątku
  • Poinformuj znajomych na Blip-ie o tym wątku
  • Poinformuj znajomych na Buzz-ie o tym wątku
  • Poinformuj znajomych na GG o tym wątku
 
Tomku a ja mam takie pytanie. Dlaczego przykład, który zasugerowałem, a według Ciebie jest błędny działa u mnie zarówno na serwerze netmarku (kolega wyżej też ma wykupiony ten serwer, ale jednak jest problem) jak i w NetArt?

Ja jeszcze czasem wcale nie daje tej końcówki [R=301,L] i taka regułka też działa.

Awatar użytkownika
Paweł Landzberg
 
Posty: 2428
Rejestracja: 14 Wrz 2008
Miejscowość: Brzeźno Wielkie

 
Dziękuję bardzo! :D

Ta wersja:

Kod: Zaznacz wszystko
Redirect 301 /zamaskowany.html http://strona-organizatora.pl/nazwapartnera,1


...działa fantastycznie!

Drugą wersję nie sprawdzałem ale zanotowałem na przyszłość. Może się kiedyś jeszcze przydać ;)

Pozdrawiam :slonko:

Konsultant FM Group
 
Posty: 509
Rejestracja: 23 Lut 2010

Re: A czemu u mnie działa?

Postprzez Tomasz Fabiszak
napisane: 27 Lut 2010, o 14:50

  • Poinformuj znajomych na Facebook-u o tym wątku
  • Poinformuj innych ludzi na Wykopie o tym wątku
  • Poinformuj znajomych na Twitter-ze o tym wątku
  • Poinformuj znajomych na Blip-ie o tym wątku
  • Poinformuj znajomych na Buzz-ie o tym wątku
  • Poinformuj znajomych na GG o tym wątku
 
Paweł Landzberg napisał(a):Tomku a ja mam takie pytanie. Dlaczego przykład, który zasugerowałem, a według Ciebie jest błędny działa u mnie zarówno na serwerze netmarku (kolega wyżej też ma wykupiony ten serwer, ale jednak jest problem) jak i w NetArt?

Nie mam pojęcia dlaczego działa. Napisałem, że przykład jest niezgodny z dokumentacją, a komunikat o którym pisał Condictor wskazywał na to, że serwer nieprawidłowo rozpoznaje kolejne argumenty polecenia Redirect. Chciałem to uszczegółowić i wyjaśnić przyczyny niedziałania, a przede wszystkim rozwiązać problem.
Być może Netmark kompilował ze źródeł Apacha i moduły, wcześniej je trochę podrasowując, żeby nie przerywały działania kiedy jest nieprawidłowa składnia, tylko ją ignorowały. Nie wiem tego na pewno, to takie przypuszczenie. Może wykorzystują jakieś nieudokumentowane ustawienia. Nie wiem.


Paweł Landzberg napisał(a):Ja jeszcze czasem wcale nie daje tej końcówki [R=301,L] i taka regułka też działa.

Tak jest dobrze. Nie trzeba podawać dodatkowych parametrów w nawiasach kwadratowych, to są tylko dodatkowe (opcjonalne) parametry modułu mod_rewrite. Reguły RewriteRule działają również bez tych parametrów.
Jeśli przekierowujesz bez podania [R=301], to nie jest przekazywana informacja o przekierowaniu do klienta (przeglądarki, pająka).

Awatar użytkownika
Tomasz Fabiszak
 
Posty: 443
Rejestracja: 29 Sie 2009
Miejscowość: Poznań

Problem z przekierowaniem 301

Postprzez oluszka
napisane: 9 Sty 2012, o 22:15

  • Poinformuj znajomych na Facebook-u o tym wątku
  • Poinformuj innych ludzi na Wykopie o tym wątku
  • Poinformuj znajomych na Twitter-ze o tym wątku
  • Poinformuj znajomych na Blip-ie o tym wątku
  • Poinformuj znajomych na Buzz-ie o tym wątku
  • Poinformuj znajomych na GG o tym wątku
 
Witam serdecznie,

Bardzo proszę o pomoc z przekierowaniem 301.
Ostatnio zmieniałam URL usuwając z niego datę np: 2011/11. Niestety nie wiem jak zrobić przekierowanie na nowy url.

Wcześniej było:
www.domena.pl/2011/11/jakas-strona/

Teraz jest:

www.domena.pl/jakas-strona/

Proszę o pomoc. Z góry dziękuję :)

Oluszka

oluszka
 
Posty: 3
Rejestracja: 09 Sty 2012

Przekierowanie 301 .htaccess

Postprzez lapti
napisane: 10 Sty 2012, o 09:41

  • Poinformuj znajomych na Facebook-u o tym wątku
  • Poinformuj innych ludzi na Wykopie o tym wątku
  • Poinformuj znajomych na Twitter-ze o tym wątku
  • Poinformuj znajomych na Blip-ie o tym wątku
  • Poinformuj znajomych na Buzz-ie o tym wątku
  • Poinformuj znajomych na GG o tym wątku
 
Witam na forum.

Takie przekierowanie powinno wyglądać mniej więcej tak:
Kod: Zaznacz wszystko
RewriteRule ^([0-9]{4})/([0-9]{2})/([a-zA-Z-_0-9()!%ąśćółżźęń]+)$ /$3/ [R=301,NC,L]

Wszystko co będzie w 3 nawiasie zostanie użyte do przepisania adresu, pod warunkiem, że będą się zgadzać poprzednie dwa nawiasy (w pierwszym 4 cyfry, a w drugim 2).
Więc jeżeli daty wyglądały tak 2011/09 to wszystko ok, natomiast jeśli data wyglądała by tak 2011/9/, to należy zmienić warunek drugiego nawiasu na ([0-9]{1,2}).

Pozdrawiam
R. ;)

Simple guy from IT department
ʇuǝɯʇɹɐdǝp ʇı ɯoɹɟ ʎnƃ ǝldɯıs
______________________________________________________________________
Przekierowanie 301 - generator .htaccess
Pozycjonowanie Rzeszów
Awatar użytkownika
lapti
 
Posty: 611
Rejestracja: 04 Lis 2009

Problem z tym przekierowaniem ;)

Postprzez oluszka
napisane: 10 Sty 2012, o 22:28

  • Poinformuj znajomych na Facebook-u o tym wątku
  • Poinformuj innych ludzi na Wykopie o tym wątku
  • Poinformuj znajomych na Twitter-ze o tym wątku
  • Poinformuj znajomych na Blip-ie o tym wątku
  • Poinformuj znajomych na Buzz-ie o tym wątku
  • Poinformuj znajomych na GG o tym wątku
 
Witaj Lapti,

Wielkie dzięki za odpowiedź. Skorzystałam z Twojej porady ale nadal coś jest nie tak. Nie przekierowuje mi adresu. Może coś źle robię?

Moj htacces w tym momencie wyglada tak:

RewriteEngine On
RewriteRule ^([0-9]{4})/([0-9]{2})/([a-zA-Z-_0-9()!%ąśćółżźęń]+)$ /$3/ [R=301,NC,L]
RewriteRule ^login$ wp-login.php
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

Proszę o jakaś poradę.

Pozdrawiam,

Oluszka

oluszka
 
Posty: 3
Rejestracja: 09 Sty 2012

przekierowanie 301 w .htaccess

Postprzez lapti
napisane: 10 Sty 2012, o 22:56

  • Poinformuj znajomych na Facebook-u o tym wątku
  • Poinformuj innych ludzi na Wykopie o tym wątku
  • Poinformuj znajomych na Twitter-ze o tym wątku
  • Poinformuj znajomych na Blip-ie o tym wątku
  • Poinformuj znajomych na Buzz-ie o tym wątku
  • Poinformuj znajomych na GG o tym wątku
 
Jeżeli to nie tajemnica, to możesz podać adres strony, która nie działa :>

Na końcu pliku .htaccess musisz mieć pustą linię.
Dodatkowo na początku dodał bym jeszcze takie coś: Options +FollowSymLinks (przed RewriteEngine On).


Pozdrawiam
R. ;)

Simple guy from IT department
ʇuǝɯʇɹɐdǝp ʇı ɯoɹɟ ʎnƃ ǝldɯıs
______________________________________________________________________
Rozbiórki i wyburzenia
Rozbiórki i wyburzenia - poradnik budowlany

[size=150]pomogłem Ci -> pajacyk.pl i wszystko jasne[/size]
Awatar użytkownika
lapti
 
Posty: 611
Rejestracja: 04 Lis 2009


Następna

Wróć do Tworzenie stron

 


  • Podobne tematy
    Odpowiedzi
    Wyświetleń
    Ostatni post

Kto jest na forum

Użytkownicy przeglądający to forum: Brak zarejestrowanych użytkowników oraz 1 gość