regex+mod_rewrite ....
20 отговора
342 прегледа
regex+mod_rewrite ....
sorry za malko offtopic ... ama polovin den sedia i se opitvam da preboria slednoto neshto
kogato se otiva kum [линк] da se izpalniava [линк]
do tuk, (sled rovene i chetene) rodih slednoto neshto:
RewriteCond %{REQUEST_URI} !\.(gif|jpg|png|swf)$
RewriteRule ^(.*).*/(.*)(/)?$ script.php?name=$1
ne me pitaite zashto kade kakvo i shto, che i az ne razbiram, no kato rezultat ot onia redove e, vsichko si baca, no ne i kogato ima trailing slash, niakoi moje li da dade idea kakvo triabva da se napravi s tui? A i, ako niakoi moje da preporucha niakakvi materiali za regex shte mu buda blagodaren (v biri sushto), che tezi neshta poveche ne biva da budat ignorirani.
-----------------------
гърбавия ковчег ще го изправи
kogato se otiva kum [линк] da se izpalniava [линк]
do tuk, (sled rovene i chetene) rodih slednoto neshto:
RewriteCond %{REQUEST_URI} !\.(gif|jpg|png|swf)$
RewriteRule ^(.*).*/(.*)(/)?$ script.php?name=$1
ne me pitaite zashto kade kakvo i shto, che i az ne razbiram, no kato rezultat ot onia redove e, vsichko si baca, no ne i kogato ima trailing slash, niakoi moje li da dade idea kakvo triabva da se napravi s tui? A i, ako niakoi moje da preporucha niakakvi materiali za regex shte mu buda blagodaren (v biri sushto), che tezi neshta poveche ne biva da budat ignorirani.
-----------------------
гърбавия ковчег ще го изправи
Re: regex+mod_rewrite ....
Ами тъка има пример точно като твоя : [линк]
Редактирано от Flexer на
Re: regex+mod_rewrite ....
ами лично аз чета за regex от хелповете на микрософт (в тоя клуб тва звучи май като порно)....не съм велик спец обаче....
perl би трябвало да е най напрад с regex така че по тази логика на сайта на perl би трябвало да има доста материали...
я кажи какво е trailing slash ? (не ми се смейте...много)
и по каква логика си сложил този ред
RewriteCond %{REQUEST_URI} !\.(gif|jpg|png|swf)$
щото и аз на едно място - photo.cult.bg искам да добавя подобно условие...
заявка от типа photo.cult.bg/~torbalan да се конвертира до photo.cult.bg/script.php?usr=torbalan
аз след четене и ровене по дебелите книги стигнах до:
RewriteRule ^/photo.cult.bg/~(.*) [линк]
[линк]
perl би трябвало да е най напрад с regex така че по тази логика на сайта на perl би трябвало да има доста материали...
я кажи какво е trailing slash ? (не ми се смейте...много)
и по каква логика си сложил този ред
RewriteCond %{REQUEST_URI} !\.(gif|jpg|png|swf)$
щото и аз на едно място - photo.cult.bg искам да добавя подобно условие...
заявка от типа photo.cult.bg/~torbalan да се конвертира до photo.cult.bg/script.php?usr=torbalan
аз след четене и ровене по дебелите книги стигнах до:
RewriteRule ^/photo.cult.bg/~(.*) [линк]
[линк]
Re: regex+mod_rewrite ....
problema mi e che pri men se trugva ot roota na server
seldvaiki tiahnata idea napisah
RewriteRule ^(.*) script.php?name=$1
v rezultat na koeto poluchih che name mi e ravno na script.php
-----------------------
гърбавия ковчег ще го изправи
seldvaiki tiahnata idea napisah
RewriteRule ^(.*) script.php?name=$1
v rezultat na koeto poluchih che name mi e ravno na script.php
-----------------------
гърбавия ковчег ще го изправи
Re: regex+mod_rewrite ....
ti si dobre kat znaesh pone na koi domain shte ti bude polzvano tova chudo, a az kato neznam koi ot niakolko desetki useri shte mi poiska da polzva tozi modul triabva da izmisliam neshto po universalno.
trailing slash "/" nakraia
a onova Cond .. da ne mi zakacha file-ove koito s onova razshirenie. ... pone az taka mislia che triabva da bude .. ma znam li ...
-----------------------
гърбавия ковчег ще го изправи
trailing slash "/" nakraia
a onova Cond .. da ne mi zakacha file-ove koito s onova razshirenie. ... pone az taka mislia che triabva da bude .. ma znam li ...
-----------------------
гърбавия ковчег ще го изправи
Re: regex+mod_rewrite ....
(.*)/(.*) $1/script.php?param=$2
изглежда ми правдоподобно....но нямам възможност да го пробвам...
(.*) това означава всичко
очаквам в $1 да е частта от адреса до първото / а в две останалото....
[линк]
изглежда ми правдоподобно....но нямам възможност да го пробвам...
(.*) това означава всичко
очаквам в $1 да е частта от адреса до първото / а в две останалото....
[линк]
Re: regex+mod_rewrite ....
[линк] - not found
[линк] - timeout
-----------------------
гърбавия ковчег ще го изправи
[линк] - timeout
-----------------------
гърбавия ковчег ще го изправи
Re: regex+mod_rewrite ....
^/(.*)/(.*)/{*} $1/script.php?param=$2
а това ?
всъщност как изглежда заявката
GET /alabala......
или
GET [линк]......
ако е като горното мисля, че това трябва да върши работа...поне така ми изглежда...
ама то май и за предното така си мислех....))
я ако имаш ICQ се обади - 44441095
[линк]
а това ?
всъщност как изглежда заявката
GET /alabala......
или
GET [линк]......
ако е като горното мисля, че това трябва да върши работа...поне така ми изглежда...
ама то май и за предното така си мислех....))
я ако имаш ICQ се обади - 44441095
[линк]
Редактирано от Topбaлaн на
Re: regex+mod_rewrite ....
Хмм, предполагам че спецовете по regex доста ще ми се смеят, но аз бих решил проблема по следния начин:
1. Ще си сложа един ErrorDocument /404.php например
2. Във файла 404.php вече всичко си е под твоя контрол - виждаш какъв адрес са търсили, проверяваш дали има такъв фолдер и ако искаш го пращаш натам....
Плюса на този метод е, че ако /folder наистина съществува няма да запратиш потребителя към script.php?name=folder
Освен това съм чувал, че mod_rewrite много товарел сървъра....
E, ако случая ти е по-сложничък, предполагам, че това няма да ти свърши работа....
1. Ще си сложа един ErrorDocument /404.php например
2. Във файла 404.php вече всичко си е под твоя контрол - виждаш какъв адрес са търсили, проверяваш дали има такъв фолдер и ако искаш го пращаш натам....
Плюса на този метод е, че ако /folder наистина съществува няма да запратиш потребителя към script.php?name=folder
Освен това съм чувал, че mod_rewrite много товарел сървъра....
E, ако случая ти е по-сложничък, предполагам, че това няма да ти свърши работа....
здесь случай разные бывают...
понякога може, понякога не...
мен също ме интересува как ще стане с regexp (без да съм спец) защото искам да ползвам същото нещо за мои цели...
а по медода, който описваш при мен хич не става...
[линк]
мен също ме интересува как ще стане с regexp (без да съм спец) защото искам да ползвам същото нещо за мои цели...
а по медода, който описваш при мен хич не става...
[линк]
Re: здесь случай разные бывают...
Ами в интерес на истината аз не съм го описал подробно, а само посочил принципа....
в конфигурационния файл на апаче (или евентуално в .htaccess) трябва да се напише:
ErrorDocument 404 /path-to-file/error404handler.php
където error404handler.php ти е името на файла, който поема заявката в случай, че сървъра върне код 404. В него като рагледаме променливата $_SERVER[REQUEST_URI] ще получим че потребителят е искал да отвори примерно адреса /personalfolder
Тогава вече си го прехвръляме където искаме, като хубавото е че можем да проверим дали personalfolder съществува преди това....
Принципно си прав за това че е хубаво да се знае как става с regex, ама лично аз по-комфортно бих се чуствал да управлявам всичките тия редиректи с PHP. А мисля, че и за сървъра ще е по-добре...
в конфигурационния файл на апаче (или евентуално в .htaccess) трябва да се напише:
ErrorDocument 404 /path-to-file/error404handler.php
където error404handler.php ти е името на файла, който поема заявката в случай, че сървъра върне код 404. В него като рагледаме променливата $_SERVER[REQUEST_URI] ще получим че потребителят е искал да отвори примерно адреса /personalfolder
Тогава вече си го прехвръляме където искаме, като хубавото е че можем да проверим дали personalfolder съществува преди това....
Принципно си прав за това че е хубаво да се знае как става с regex, ама лично аз по-комфортно бих се чуствал да управлявам всичките тия редиректи с PHP. А мисля, че и за сървъра ще е по-добре...
Re: regex+mod_rewrite ....
i error log da ti se uvelichava s niakolko hiliadi reda v chas ........
-----------------------
гърбавия ковчег ще го изправи
-----------------------
гърбавия ковчег ще го изправи
Re: regex+mod_rewrite ....
interesnoto e che vapreki vsiakava logika (chetena ot niakolko razlichni choveka ot manual) niakoi neshta ili se duniat ili ne rabotiat... mai mu e vremeto na apache da stane commercial ta da mu opraviat bugovete (pisna mi ot OSF i GPL hlapeshtini)
-----------------------
гърбавия ковчег ще го изправи
-----------------------
гърбавия ковчег ще го изправи
Re: здесь случай разные бывают...
бе не съм убеден за сървъра
склонен съм да споря, въпреки че нито regex разбирам (както е видно от опитие, които правя по горе) нито пък на РНР съм цар
навсякъде, където пише за redirect има примери и за двата метода, което ще рече че нито единия има явно предмиство нито другия...
но ми се струва, че да се отвори страница, да се изпълни скрипт и тогава да се ходи на друга страница е по-натоварващо отколкото да се пренапише пътя.....ама кой знае?
[линк]
склонен съм да споря, въпреки че нито regex разбирам (както е видно от опитие, които правя по горе) нито пък на РНР съм цар
навсякъде, където пише за redirect има примери и за двата метода, което ще рече че нито единия има явно предмиство нито другия...
но ми се струва, че да се отвори страница, да се изпълни скрипт и тогава да се ходи на друга страница е по-натоварващо отколкото да се пренапише пътя.....ама кой знае?
[линк]
ТЦ НЕ СИ ПРАВ
апачито си работи, и логиката е здрава!
това се ползва от много хора на много места
просто не можем да налучкаме верния синтаксис.....
[линк]
това се ползва от много хора на много места
просто не можем да налучкаме верния синтаксис.....
[линк]
Re: regex+mod_rewrite ....
По този начин ще правиш външен redirection, а на Дремещ му трябва вътрешен.
Great minds discuss ideas;
Average minds discuss events;
Small minds discuss people.
Great minds discuss ideas;
Average minds discuss events;
Small minds discuss people.
Re: regex+mod_rewrite ....
Няма да е лошо от Дир.бг да направят един редирект за клубовете като clubs.dir.bg/PHP да редиректва към [линк] 
---------------
CutePHP.com
---------------
CutePHP.com
Re: regex+mod_rewrite ....
togava shte triabva da stane clubs.dir.bg/computers/php
-----------------------
гърбавия ковчег ще го изправи
-----------------------
гърбавия ковчег ще го изправи
Re: regex+mod_rewrite ....
vij dali ne ti vyrshi rabota:
RewriteRule /sites/[линк][a-z]+)$ [линк]
RewriteRule /sites/[линк][a-z]+)$ [линк]
Re: regex+mod_rewrite ....
za sajalenie ne moga da go vurja kum domain name
-----------------------
гърбавия ковчег ще го изправи
-----------------------
гърбавия ковчег ще го изправи