konto usunięte

Temat: Problem z re_write

Witam serdecznie,
od 2 dni walczę z htaccesem i modrewrite.
Mam taki plik:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule lang,(.*).html/index.php?lang=$1 [L]
RewriteCond %{REQUEST_URI} _podstrona- [NC]
RewriteRule (.*)_podstrona-(.*).html/index.php?go=$1&strona=$2 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule min_(.*)_(.*)_(.*) /min.php?$3&width=$1&height=$2 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*),(.*),(.*),(.*),(.*),(.*).html/index.php?go=$1&strona=$2&akcja=$3&co=$4&ajax=$5&filtr=$6 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*),(.*),(.*),(.*),(.*).html/index.php?go=$1&strona=$2&akcja=$3&co=$4&ajax=$5 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*),(.*),(.*),(.*),(.*).html/index.php?go=$1&subgo=$2&strona=$3&akcja=$4&co=$5 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*),(.*),(.*),(.*).html/index.php?go=$1&subgo=$2&akcja=$3&co=$4 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*),(.*),(.*).html/index.php?go=$1&subgo=$2&strona=$3 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*),(.*).html/index.php?go=$1&subgo=$2 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*).html/index.php?go=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule admin(.*)/index.php?go=admin$1 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule wyloguj/index.php?go=wyloguj [L]


Po kliknięciu odnośnika przeglądarka zwraca "nie ma takiej strony".

W logach mam takie coś:

89.79.39.132 - - [13/Oct/2009:22:45:39 +0200] [domena.pl/sid#8240bd0][rid#83d9d40/initial] (2) init rewrite engine with requested uri /
89.79.39.132 - - [13/Oct/2009:22:45:39 +0200] [domena.pl/sid#8240bd0][rid#83d9d40/initial] (1) pass through /
89.79.39.132 - - [13/Oct/2009:22:45:39 +0200] [domena.pl/sid#8240bd0][rid#83d9d40/initial] (3) [perdir /var/www/strony/domena.pl/] strip per-dir prefix: /var/www/strony/domena.pl/ ->
89.79.39.132 - - [13/Oct/2009:22:45:39 +0200] [domena.pl/sid#8240bd0][rid#83d9d40/initial] (3) [perdir /var/www/strony/domena.pl/] applying pattern 'lang,(.*).html/index.php?lang=$1' to uri ''
89.79.39.132 - - [13/Oct/2009:22:45:39 +0200] [domena.pl/sid#8240bd0][rid#83d9d40/initial] (3) [perdir /var/www/strony/domena.pl/] strip per-dir prefix: /var/www/strony/domena.pl/ ->
89.79.39.132 - - [13/Oct/2009:22:45:39 +0200] [domena.pl/sid#8240bd0][rid#83d9d40/initial] (3) [perdir /var/www/strony/domena.pl/] applying pattern '(.*)_podstrona-(.*).html/index.php?go=$1&strona=$2' to uri ''
89.79.39.132 - - [13/Oct/2009:22:45:39 +0200] [domena.pl/sid#8240bd0][rid#83d9d40/initial] (3) [perdir /var/www/strony/domena.pl/] strip per-dir prefix: /var/www/strony/domena.pl/ ->
89.79.39.132 - - [13/Oct/2009:22:45:39 +0200] [domena.pl/sid#8240bd0][rid#83d9d40/initial] (3) [perdir /var/www/strony/domena.pl/] applying pattern 'min_(.*)_(.*)_(.*)' to uri ''
89.79.39.132 - - [13/Oct/2009:22:45:39 +0200] [domena.pl/sid#8240bd0][rid#83d9d40/initial] (3) [perdir /var/www/strony/domena.pl/] strip per-dir prefix: /var/www/strony/domena.pl/ ->
89.79.39.132 - - [13/Oct/2009:22:45:39 +0200] [domena.pl/sid#8240bd0][rid#83d9d40/initial] (3) [perdir /var/www/strony/domena.pl/] applying pattern '(.*),(.*),(.*),(.*),(.*),(.*).html/index.php?go=$1&strona=$2&akcja=$3&co=$4&ajax=$5&filtr=$6' to uri ''
89.79.39.132 - - [13/Oct/2009:22:45:39 +0200] [domena.pl/sid#8240bd0][rid#83d9d40/initial] (3) [perdir /var/www/strony/domena.pl/] strip per-dir prefix: /var/www/strony/domena.pl/ ->
89.79.39.132 - - [13/Oct/2009:22:45:39 +0200] [domena.pl/sid#8240bd0][rid#83d9d40/initial] (3) [perdir /var/www/strony/domena.pl/] applying pattern '(.*),(.*),(.*),(.*),(.*).html/index.php?go=$1&strona=$2&akcja=$3&co=$4&ajax=$5' to uri ''
89.79.39.132 - - [13/Oct/2009:22:45:39 +0200] [domena.pl/sid#8240bd0][rid#83d9d40/initial] (3) [perdir /var/www/strony/domena.pl/] strip per-dir prefix: /var/www/strony/domena.pl/ ->
89.79.39.132 - - [13/Oct/2009:22:45:39 +0200] [domena.pl/sid#8240bd0][rid#83d9d40/initial] (3) [perdir /var/www/strony/domena.pl/] applying pattern '(.*),(.*),(.*),(.*),(.*).html/index.php?go=$1&subgo=$2&strona=$3&akcja=$4&co=$5' to uri ''
89.79.39.132 - - [13/Oct/2009:22:45:39 +0200] [domena.pl/sid#8240bd0][rid#83d9d40/initial] (3) [perdir /var/www/strony/domena.pl/] strip per-dir prefix: /var/www/strony/domena.pl/ ->
89.79.39.132 - - [13/Oct/2009:22:45:39 +0200] [domena.pl/sid#8240bd0][rid#83d9d40/initial] (3) [perdir /var/www/strony/domena.pl/] applying pattern '(.*),(.*),(.*),(.*).html/index.php?go=$1&subgo=$2&akcja=$3&co=$4' to uri ''
89.79.39.132 - - [13/Oct/2009:22:45:39 +0200] [domena.pl/sid#8240bd0][rid#83d9d40/initial] (3) [perdir /var/www/strony/domena.pl/] strip per-dir prefix: /var/www/strony/domena.pl/ ->
89.79.39.132 - - [13/Oct/2009:22:45:39 +0200] [domena.pl/sid#8240bd0][rid#83d9d40/initial] (3) [perdir /var/www/strony/domena.pl/] applying pattern '(.*),(.*),(.*).html/index.php?go=$1&subgo=$2&strona=$3' to uri ''
89.79.39.132 - - [13/Oct/2009:22:45:39 +0200] [domena.pl/sid#8240bd0][rid#83d9d40/initial] (3) [perdir /var/www/strony/domena.pl/] strip per-dir prefix: /var/www/strony/domena.pl/ ->
89.79.39.132 - - [13/Oct/2009:22:45:39 +0200] [domena.pl/sid#8240bd0][rid#83d9d40/initial] (3) [perdir /var/www/strony/domena.pl/] applying pattern '(.*),(.*).html/index.php?go=$1&subgo=$2' to uri ''
89.79.39.132 - - [13/Oct/2009:22:45:39 +0200] [domena.pl/sid#8240bd0][rid#83d9d40/initial] (3) [perdir /var/www/strony/domena.pl/] strip per-dir prefix: /var/www/strony/domena.pl/ ->
89.79.39.132 - - [13/Oct/2009:22:45:39 +0200] [domena.pl/sid#8240bd0][rid#83d9d40/initial] (3) [perdir /var/www/strony/domena.pl/] applying pattern '(.*).html/index.php?go=$1' to uri ''
89.79.39.132 - - [13/Oct/2009:22:45:39 +0200] [domena.pl/sid#8240bd0][rid#83d9d40/initial] (3) [perdir /var/www/strony/domena.pl/] strip per-dir prefix: /var/www/strony/domena.pl/ ->
89.79.39.132 - - [13/Oct/2009:22:45:39 +0200] [domena.pl/sid#8240bd0][rid#83d9d40/initial] (3) [perdir /var/www/strony/domena.pl/] applying pattern 'admin(.*)/index.php?go=admin$1' to uri ''
89.79.39.132 - - [13/Oct/2009:22:45:39 +0200] [domena.pl/sid#8240bd0][rid#83d9d40/initial] (3) [perdir /var/www/strony/domena.pl/] strip per-dir prefix: /var/www/strony/domena.pl/ ->
89.79.39.132 - - [13/Oct/2009:22:45:39 +0200] [domena.pl/sid#8240bd0][rid#83d9d40/initial] (3) [perdir /var/www/strony/domena.pl/] applying pattern 'wyloguj/index.php?go=wyloguj' to uri ''
89.79.39.132 - - [13/Oct/2009:22:45:39 +0200] [domena.pl/sid#8240bd0][rid#83d9d40/initial] (1) [perdir /var/www/strony/domena.pl/] pass through /var/www/strony/domena.pl/
89.79.39.132 - - [13/Oct/2009:22:45:39 +0200] [domena.pl/sid#8240bd0][rid#83d37f8/subreq] (2) init rewrite engine with requested uri /index.html
89.79.39.132 - - [13/Oct/2009:22:45:39 +0200] [domena.pl/sid#8240bd0][rid#83d37f8/subreq] (1) pass through /index.html


Co dziwne, to na Windowsowym apache chodziło poprawnie...

linki mają np. taką postać:
transakcje-nowe,16.html
aukcje-zakonczone.html

Wie ktoś może dlaczego to nie chce zaskoczyć?

Z góry dzięki za pomoc,
ŁukaszŁukasz Peta edytował(a) ten post dnia 13.10.09 o godzinie 23:01
Kordian Zadrożny

Kordian Zadrożny TETA HR, IT.
Konsulting,
Marketing, JOOMLA,
CorelDraw

Temat: Problem z re_write

Chętnie bym ci pomógł ale to dla mnie czarna magia. Jak już swoje zwalczysz to powiedz ile weźmiesz za dorobienie dla moich potrzeb htaccesa :) (prosty) :):)
Przemek Szalko

Przemek Szalko iOS Developer + Full
Stack Developer

Temat: Problem z re_write

Przykładowa regułka:

RewriteRule (.*).html/index.php?go=$1 [L]

Czemu tu nie ma spacji przed znakiem "/" ?

Druga sprawa, czy strona na serwerze jest w katalogu głównym, czy jakimś podrzędnym?

Edit: I jeszcze trzecia sprawa: nie musisz wszędzie wstawiać
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

Na początku pliku wystarczy :)Przemek Szalko edytował(a) ten post dnia 13.10.09 o godzinie 23:37
Marcin Witek

Marcin Witek isido.pl ułatwia
pracę - polski sytem
zarządzania
projekt...

Temat: Problem z re_write

część to na pewno przez brak spacji, patrz


89.79.39.132 - - [13/Oct/2009:22:45:39 +0200] [domena.pl/sid#8240bd0][rid#83d9d40/initial] (3) [perdir /var/www/strony/domena.pl/] applying pattern 'wyloguj/index.php?go=wyloguj' to uri ''



Możesz też sprawdzić, czy nie pomoże jeśli zamiast (.*),(.*) dasz ([^,]*),([^,]*)

I kolejna rzecz która może ułatwić - żeby sprawdzić co na co się pzepisuje, możesz dodać [R=301,L] - wtedy ładnie widać co tak naprawdę wychodzi z rewrita.

Sprawdź też, czy masz na końcu pliku newline - i może problem jest przez newliny \r\n zamiast \n, skoro na windowsie działało ?Marcin Witek edytował(a) ten post dnia 13.10.09 o godzinie 23:54

konto usunięte

Temat: Problem z re_write

mam teraz taki plik:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule lang,(.*).html/ index.php?lang=$1 [L]
RewriteCond %{REQUEST_URI} _podstrona- [NC]
RewriteRule (.*)_podstrona-(.*).html/ index.php?go=$1&strona=$2 [L]
RewriteRule min_(.*)_(.*)_(.*) / min.php?$3&width=$1&height=$2 [L]
RewriteRule (.*),(.*),(.*),(.*),([^,]*) ,([^,]*) .html/ index.php?go=$1&strona=$2&akcja=$3&co=$4&ajax=$5&filtr=$6 [L]
RewriteRule ([^,]*) ,([^,]*) ,([^,]*) ,([^,]*) ,([^,]*) .html/ index.php?go=$1&strona=$2&akcja=$3&co=$4&ajax=$5 [L]
RewriteRule ([^,]*) ,([^,]*) ,([^,]*) ,([^,]*) ,([^,]*) .html/ index.php?go=$1&subgo=$2&strona=$3&akcja=$4&co=$5 [L]
RewriteRule ([^,]*) ,([^,]*) ,([^,]*) ,([^,]*) .html/ index.php?go=$1&subgo=$2&akcja=$3&co=$4 [L]
RewriteRule ([^,]*) ,([^,]*) ,([^,]*) .html/ index.php?go=$1&subgo=$2&strona=$3 [L]
RewriteRule ([^,]*) ,([^,]*) .html/ index.php?go=$1&subgo=$2 [L]
RewriteRule ([^,]*) .html/ index.php?go=$1 [L]
RewriteRule admin([^,]*) / index.php?go=admin$1 [L]
RewriteRule wyloguj/ index.php?go=wyloguj [L]

ale niestety dalej error 500 :(

konto usunięte

Temat: Problem z re_write

Łukasz Peta:
...
ale niestety dalej error 500 :(

Zacznij od usunięcia tego:

options +FollowSymLinks


Jeżeli dobrze pamiętam od jakiegoś czasu ta dyrektywa nie może być stosowana w zewnętrznym pliku konfiguracyjnym (czyli w .htaccess).Robert B. edytował(a) ten post dnia 14.10.09 o godzinie 00:04

konto usunięte

Temat: Problem z re_write

usunąłem i dalej ten sam problem :/

konto usunięte

Temat: Problem z re_write

Łukasz Peta:
usunąłem i ....

Więc usunąłbym wszystko ;) i dodając linijka po linijce sprawdził kiedy pojawi się błąd (o ile z logów nic nie wynika).

[edytowane]

Wszelkie znaki specjalne powinieneś poprzedzać \

Znaki specjalne czyli: .,/ itp

Czy Ty walczysz z tym mod_re na serwerze apache czy np. na home.pl ?

[edytowane 2]
Np wg mnie ta linijka:

RewriteRule lang,(.*).html/ index.php?lang=$1 [L]

powinna wyglądać tak:

RewriteRule lang\,(.*)\.html /index.php?lang=$1 [L]

a już na pewno w tej linijce /[spacja]index ... jest złym zapisem (wg Twojego przykładu).

[edytowane 3]
Dlaczego prawie w każdej linijce pomiędzy / a index.php masz
spację ? Tak to raczej nie zadziała.Robert B. edytował(a) ten post dnia 14.10.09 o godzinie 00:14
Michał Stachura

Michał Stachura Dedykowane serwisy i
strony www -
http://santri.eu

Temat: Problem z re_write

To co pisze Przemek i Marcin. Dodatkowo zobacz moje przykładowe regułki:

RewriteRule ^wyniki_szukania.html /index.php?a=wyniki_szukania [NC]

To proste i nie wymaga tłumaczenia

RewriteRule ^([a-z0-9_a-z0-9\-]{1,90}),([0-9]{1,10}).html /index.php?a=details&item=$2 [NC]

To w sumie też ale słowo wyjaśnienia.
[a-z0-9_a-z0-9\-]{1,90} - to pierwsza zmienna w adresie www serwisu. może mieć do 90 dowolnych znaków alfanumerycznych plus podkreślenie dolne i myślnik.

[0-9]{1,10} - to druga zmienna maksymalnie 10 cyfr.

Zmienna 2 jest używana do identyfikacji przedmiotu dlatego bierzemy ją do adresu ($2) na jaki tłumaczymy i wstawiamy jako atrybut zmiennej $_GET['item'].

W praktyce adres wygląda tak:
http://www.strefazmyslow.pl/Biustonosze_Gorteks-Cafe-B...
gdzie identyfikatorem przedmiotu jest 2163. Początek jest tylko i
wyłącznie na użytek gogoli.

Tak łopatologicznie możesz poczytać o tym np. tutaj:
http://home.pl/dokumentacja/kursy/modrewrite

na początek powinno wystarczyć.Michał Stachura edytował(a) ten post dnia 14.10.09 o godzinie 00:19

konto usunięte

Temat: Problem z re_write


RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule lang,(.*).html/ index.php?lang=$1 [L]
RewriteCond %{REQUEST_URI} _podstrona- [NC]
RewriteRule (.*)_podstrona-(.*).html/ index.php?go=$1&strona=$2 [L]


ten kod działa, poniżej się sypie... :(

konto usunięte

Temat: Problem z re_write

mój kod jest podobny do Twojego, a pomimo tego nie działa...
Dziwne że na Windowsie działało ... :/

czytałem ten kurs :) ale dzięki :)
2 dni walczę z tym cudakiem i nie mogę tego przeskoczyć :/
Przemek Szalko

Przemek Szalko iOS Developer + Full
Stack Developer

Temat: Problem z re_write

Kod błędu 500 masz bo masz błąd w składni .htaccess
W logach apache pojawia się coś takiego: "RewriteCond: bad flag delimiters"

Nadal masz problem ze spacjami. Poprawna składnia dla RewriteRule jest taka:
RewriteRule WYRAZENIE_REGULARNE_Z_ESCAPOWANYMI_SPACJAMI NA_CO_ZAMIENIC [WARUNKI]

Zobacz dokumentacje zamiast jakichś tutoriali gdzie łatwo o literówkę.

Twój poprawiony .htaccess:


Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule lang,(.*).html/ index.php?lang=$1 [L]
RewriteCond %{REQUEST_URI} _podstrona- [NC]
RewriteRule (.*)_podstrona-(.*).html/ index.php?go=$1&strona=$2 [L]
RewriteRule min_(.*)_(.*)_(.*)/min.php?$3&width=$1&height=$2 [L]
RewriteRule (.*),(.*),(.*),(.*),([^,]*),([^,]*).html/ index.php?go=$1&strona=$2&akcja=$3&co=$4&ajax=$5&filtr=$6 [L]
RewriteRule ([^,]*),([^,]*),([^,]*),([^,]*),([^,]*).html/ index.php?go=$1&strona=$2&akcja=$3&co=$4&ajax=$5 [L]
RewriteRule ([^,]*),([^,]*),([^,]*),([^,]*),([^,]*).html/ index.php?go=$1&subgo=$2&strona=$3&akcja=$4&co=$5 [L]
RewriteRule ([^,]*),([^,]*),([^,]*),([^,]*).html/ index.php?go=$1&subgo=$2&akcja=$3&co=$4 [L]
RewriteRule ([^,]*),([^,]*),([^,]*).html/ index.php?go=$1&subgo=$2&strona=$3 [L]
RewriteRule ([^,]*),([^,]*).html/ index.php?go=$1&subgo=$2 [L]
RewriteRule ([^,]*).html/ index.php?go=$1 [L]
RewriteRule admin([^,]*)/ index.php?go=admin$1 [L]
RewriteRule wyloguj/ index.php?go=wyloguj [L]


Hint: wyrażenia regularne są zachłanne. Nie nadużywaj .*

konto usunięte

Temat: Problem z re_write

działa :) dzięki WIELKIE :)

konto usunięte

Temat: Problem z re_write

Na końcu pliku możesz sobie załączyć taki dodatkowy kod :)

# Blokowanie niechacianych robotów
RewriteCond %{HTTP_USER_AGENT} ^atSpider/1.0 [OR]
RewriteCond %{HTTP_USER_AGENT} ^autoemailspider [OR]
RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]
RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:craftbot@yahoo.com [OR]
RewriteCond %{HTTP_USER_AGENT} ^CherryPicker [OR]
RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR]
RewriteCond %{HTTP_USER_AGENT} ^Crescent [OR]
RewriteCond %{HTTP_USER_AGENT} ^Custo [OR]
RewriteCond %{HTTP_USER_AGENT} ^DIIbot [OR]
RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR]
RewriteCond %{HTTP_USER_AGENT} ^Download\ Demon [OR]
RewriteCond %{HTTP_USER_AGENT} ^eCatch [OR]
RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailCollector [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR]
RewriteCond %{HTTP_USER_AGENT} ^Express\ WebPictures [OR]
RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR]
RewriteCond %{HTTP_USER_AGENT} ^EyeNetIE [OR]
RewriteCond %{HTTP_USER_AGENT} ^FlashGet [OR]
RewriteCond %{HTTP_USER_AGENT} ^GetRight [OR]
RewriteCond %{HTTP_USER_AGENT} ^GetWeb! [OR]
RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [OR]
RewriteCond %{HTTP_USER_AGENT} ^Go-Ahead-Got-It [OR]
RewriteCond %{HTTP_USER_AGENT} ^GrabNet [OR]
RewriteCond %{HTTP_USER_AGENT} ^Grafula [OR]
RewriteCond %{HTTP_USER_AGENT} ^HMView [OR]
RewriteCond %{HTTP_USER_AGENT} HTTrack [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Image\ Stripper [OR]
RewriteCond %{HTTP_USER_AGENT} ^Image\ Sucker [OR]
RewriteCond %{HTTP_USER_AGENT} Indy\ Library [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^InterGET [OR]
RewriteCond %{HTTP_USER_AGENT} ^Internet\ Ninja [OR]
RewriteCond %{HTTP_USER_AGENT} ^JetCar [OR]
RewriteCond %{HTTP_USER_AGENT} ^JOC\ Web\ Spider [OR]
RewriteCond %{HTTP_USER_AGENT} ^larbin [OR]
RewriteCond %{HTTP_USER_AGENT} ^LARBIN-EXPERIMENTAL [OR]
RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [OR]
RewriteCond %{HTTP_USER_AGENT} ^LinkWalker [OR]
RewriteCond %{HTTP_USER_AGENT} ^LWP::Simple/5.803 [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mass\ Downloader [OR]
RewriteCond %{HTTP_USER_AGENT} ^Microsoft.URL [OR]
RewriteCond %{HTTP_USER_AGENT} ^MIDown\ tool [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mister\ PiX [OR]
RewriteCond %{HTTP_USER_AGENT} ^MFHttpScan [OR]
RewriteCond %{HTTP_USER_AGENT} ^MSFrontPage [OR]
RewriteCond %{HTTP_USER_AGENT} ^NICErsPRO [OR]
RewriteCond %{HTTP_USER_AGENT} ^Navroad [OR]
RewriteCond %{HTTP_USER_AGENT} ^NearSite [OR]
RewriteCond %{HTTP_USER_AGENT} ^NetAnts [OR]
RewriteCond %{HTTP_USER_AGENT} ^NetSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Net\ Vampire [OR]
RewriteCond %{HTTP_USER_AGENT} ^NetZIP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Octopus [OR]
RewriteCond %{HTTP_USER_AGENT} ^Offline\ Explorer [OR]
RewriteCond %{HTTP_USER_AGENT} ^Offline\ Navigator [OR]
RewriteCond %{HTTP_USER_AGENT} ^PageGrabber [OR]
RewriteCond %{HTTP_USER_AGENT} ^Papa\ Foto [OR]
RewriteCond %{HTTP_USER_AGENT} ^pavuk [OR]
RewriteCond %{HTTP_USER_AGENT} ^pcBrowser [OR]
RewriteCond %{HTTP_USER_AGENT} ^Poirot [OR]
RewriteCond %{HTTP_USER_AGENT} ^RealDownload [OR]
RewriteCond %{HTTP_USER_AGENT} ^ReGet [OR]
RewriteCond %{HTTP_USER_AGENT} ^Scan4Mail [OR]
RewriteCond %{HTTP_USER_AGENT} ^Siphon [OR]
RewriteCond %{HTTP_USER_AGENT} ^sitecheck.internetseer.com [OR]
RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [OR]
RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [OR]
RewriteCond %{HTTP_USER_AGENT} ^SuperBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Surfbot [OR]
RewriteCond %{HTTP_USER_AGENT} ^tAkeOut [OR]
RewriteCond %{HTTP_USER_AGENT} ^Teleport\ Pro [OR]
RewriteCond %{HTTP_USER_AGENT} ^TrackBack/1.02 [OR]
RewriteCond %{HTTP_USER_AGENT} ^VoidEYE [OR]
RewriteCond %{HTTP_USER_AGENT} ^Web\ Image\ Collector [OR]
RewriteCond %{HTTP_USER_AGENT} ^Web\ Sucker [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebAuto [OR]
RewriteCond %{HTTP_USER_AGENT} ^webcollage [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebCopier [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebEMailExtrac.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebFetch [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebGo\ IS [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebLeacher [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebReaper [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebSauger [OR]
RewriteCond %{HTTP_USER_AGENT} ^Website\ eXtractor [OR]
RewriteCond %{HTTP_USER_AGENT} ^Website\ Quester [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebStripper [OR]
RewriteCond %{HTTP_USER_AGENT} ^Web\ Sucker [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebWhacker [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebZIP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Wget [OR]
RewriteCond %{HTTP_USER_AGENT} ^Widow [OR]
RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR]
RewriteCond %{HTTP_USER_AGENT} ^[Ww]eb[Bb]andit [OR]
RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus
RewriteRule ^.* - [F,L]


# Tryb PHP5
AddHandler x-httpd-php .php

# Inicjalizacja modułu mod_deflate
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript application/x-javascript
Przemek Szalko

Przemek Szalko iOS Developer + Full
Stack Developer

Temat: Problem z re_write

... jeśli chcesz aby przy każdym requeście* do serwera było sprawdzanych 1000 zbędnych warunków.

* - request to nie tylko pobranie pliku html albo php ale też wszystkich dodatkowych obrazków stylów css i kodów js.

konto usunięte

Temat: Problem z re_write

Lepiej pozwolić, by boty zużywały transfer i kradły dane? Moduł mod_deflate także nieodpowiedni? Hmm..
Jakub L.

Jakub L. Programista

Temat: Problem z re_write

man wget
...
-U agent-string
--user-agent=agent-string
Identify as agent-string to the HTTP server
...

Jak ktoś jest wystarczająco zdeterminowany, to i tak ściągnie dane.
Z drugiej strony - czym się różni ściągnięcie danych przeglądarką od ściągnięcia danych czymś nieco innym?
Marcin Witek

Marcin Witek isido.pl ułatwia
pracę - polski sytem
zarządzania
projekt...

Temat: Problem z re_write

Jakub L.:
Jak ktoś jest wystarczająco zdeterminowany, to i tak ściągnie dane.
Z drugiej strony - czym się różni ściągnięcie danych przeglądarką od ściągnięcia danych czymś nieco innym?

generalnie, zależy gdzie się hostujesz. Jeśli masz mało transferu to boty, jak już wsiądą na serwis, potrafią przepalić go naprawdę dużo (kiedyś na jednym z serwerów z darmowym hostingiem plików którym się opiekowaliśmy niechciane boty zżerały 2GB dziennie przy 1GB "wartościowego" ruchu )

Ale blokowanie takiego np. teleporta pro to IMHO działanie analogiczne do blokowania prawego klawisza myszki na stronie - "można? można. Tylko po co" ;)Marcin Witek edytował(a) ten post dnia 14.10.09 o godzinie 11:17
Przemek Szalko

Przemek Szalko iOS Developer + Full
Stack Developer

Temat: Problem z re_write

Jak już chcecie koniecznie blokować te wszystkie złe boty, to zamiast mega długiej blacklisty można zrobić krótszą whitelistę.

Wpisać wszystkie przeglądarki + znane roboty wyszukiwarek. Powinna być krótsza i równie "skuteczna" :)

Edit:
Whitelista to oczywiście wpuszczenie tylko tych user-agentów których lubimy, wszystkich innych z poza listy blokujemy.Przemek Szalko edytował(a) ten post dnia 14.10.09 o godzinie 11:20

Następna dyskusja:

Problem z php i excelem




Wyślij zaproszenie do