Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:

Soutěž

Sponzorem soutěže je:

IDIF

 

Kde se koná výstava fotografií Luďka Vojtěchovského?

V dnešní soutěži hrajeme o:



rewrite pravidlo s množinou, která obsahuje tečku - 500 server err

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

Re: rewrite pravidlo s mnozinou, ktera obsahuje tecku - 500 server err

Autor: spaze

18:47:11 22.08.2011

Zdravim,

22. srpna 2011, 18:34:27, kubicek napsal(a):
> directory index jsem zmenil na index.foobar a nezabralo

Tak by melo pomoci detekovat interni redirect pomoci

RewriteCond %{ENV:REDIRECT_STATUS} ^$

--
The scariest thing about Jurassic Park was that the control systems were Unix.


Příspěvek zaslán emailem

Citovat příspěvek

 

Re: rewrite pravidlo s mnozinou, ktera obsahuje tecku - 500 server err

Autor: kubicek

18:34:27 22.08.2011

directory index jsem zmenil na index.foobar a nezabralo

Citovat příspěvek

 

Re: rewrite pravidlo s mnozinou, ktera obsahuje tecku - 500 server err

Autor: spaze

16:30:31 22.08.2011

Ahoj,

22. srpna 2011, 14:16:21, kubicek napsal(a):
> tak odpověď zní ano, je to problém a explicitním vyjmenováním
> možných suffixu, případně vyhozením php suffixu se to vyřeší ...

Nemyslim si. Problem je s tim, ze pokud prepises neco na soubor,
kterej je zaroven v DirectoryIndexu, tak se vyvola dalsi interni
rewrite, ktery se pozdeji zase snazi prepsat neco na soubor, ktery je
v DirectoryIndexu a to vyvola dalsi interni rewrite a tak dale.

Takze se to vyresi tim, ze nebudes prepisovat na soubor, ktery je
zaroven v DirectoryIndex, bud tak, ze zmenis lokalne DirectoryIndex
nebo zmenis jmeno souboru, na kterej prepisujes (doporucuju spis
zmenit DirectoryIndex, stavas se nezavisly na konfiguraci serveru,
protoze si ji sam urcis)

--
Donaudampfschiffahrtselektrizitätenhauptbetriebswerkbauunterbeamtengesellschaft


Příspěvek zaslán emailem

Citovat příspěvek

 

Re: rewrite pravidlo s mnozinou, ktera obsahuje tecku - 500 server err

Autor: LesTR

14:19:00 22.08.2011

aHoj!

2011/8/22 kubicek :
>je to problém a explicitním vyjmenováním možných suffixu, případně vyhozením php suffixu se to vyřeší ...

Nebo pouzijeme teleporter, ehm overeni ze request_uri neni existujici
soubor, tzn neco jako:

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d

--
Save The World - http://www.worldcommunitygrid.org/
http://www.worldcommunitygrid.org/stat/viewMemberInfo.do?userName=LesTR

LesTR

Příspěvek zaslán emailem

Citovat příspěvek

 

Re: rewrite pravidlo s množinou, která obsahuje tečku - 500 server err

Autor: kubicek

14:16:21 22.08.2011

tak odpověď zní ano, je to problém a explicitním vyjmenováním možných suffixu, případně vyhozením php suffixu se to vyřeší ...

Citovat příspěvek

 

Re: rewrite pravidlo s množinou, která obsahuje tečku - 500 server err

Autor: kubicek

13:11:13 22.08.2011

jenom takovy napad, poznamka, nez to zapomenu - jestli mu nevadi, ze "index.php" opět splňuje podmínky rewrite rule ... teď to jdu zkusit vstřebat :)

Citovat příspěvek

 

Re: rewrite pravidlo s mnozinou, ktera obsahuje tecku - 500 server err

Autor: spaze

13:05:28 22.08.2011

Ahoj,

22. srpna 2011, 12:53:00, kubicek napsal(a):
> RewriteRule ^([a-zA-Z0-9_.-]+)/?$ /index.php [NC,L]

Zkus nastavit DirectoryIndex na neco jinyho, nez index.php (nebo
prejmenovat index.php na neco jinyho, nez co je v DirectoryIndex).

DirectoryIndex jde nastavit i v .htaccess

--
printer.c: usblp0: on fire


Příspěvek zaslán emailem

Citovat příspěvek

 

Re: rewrite pravidlo s množinou, která obsahuje tečku - 500 server err

Autor: kubicek

12:53:00 22.08.2011

[code]
AddDefaultCharset utf-8

ErrorDocument 500 /_core/httpCodes/500.php
ErrorDocument 404 /_core/httpCodes/404.php
ErrorDocument 403 /_core/httpCodes/403.php

RewriteRule ^(_core|_test)+(.*)$ - [PT,L]
RewriteRule ^([a-zA-Z0-9_.-]+)/?$ /index.php [NC,L]
[/code]

v index.php je na prvnim radku "echo 1;exit;"

v error_logu je totok:

[Mon Aug 22 12:42:08 2011] [error] [client 127.0.0.1] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace., referer: http://locdev/

tedy nejaka smycka, v rewrite logu totok a smycku to potvrzuje ... ale proc?:

mam za to, ze pro me podstatny je: "rewrite 'jina-galerka' -> '/index.php'"


127.0.0.1 - - [22/Aug/2011:12:49:30 +0200] [locdev/sid#7953c8][rid#104ed98/initial] (2) init rewrite engine with requested uri /jina-galerka
127.0.0.1 - - [22/Aug/2011:12:49:30 +0200] [locdev/sid#7953c8][rid#104ed98/initial] (1) pass through /jina-galerka
127.0.0.1 - - [22/Aug/2011:12:49:30 +0200] [locdev/sid#7953c8][rid#104ed98/initial] (3) [perdir D:/weby/dev/html/] strip per-dir prefix: D:/weby/dev/html/jina-galerka -> jina-galerka
127.0.0.1 - - [22/Aug/2011:12:49:30 +0200] [locdev/sid#7953c8][rid#104ed98/initial] (3) [perdir D:/weby/dev/html/] applying pattern '^(_core|_test)+(.*)$' to uri 'jina-galerka'
127.0.0.1 - - [22/Aug/2011:12:49:30 +0200] [locdev/sid#7953c8][rid#104ed98/initial] (3) [perdir D:/weby/dev/html/] strip per-dir prefix: D:/weby/dev/html/jina-galerka -> jina-galerka
127.0.0.1 - - [22/Aug/2011:12:49:30 +0200] [locdev/sid#7953c8][rid#104ed98/initial] (3) [perdir D:/weby/dev/html/] applying pattern '^([a-zA-Z0-9_.-]+)/?$' to uri 'jina-galerka'
127.0.0.1 - - [22/Aug/2011:12:49:30 +0200] [locdev/sid#7953c8][rid#104ed98/initial] (2) [perdir D:/weby/dev/html/] rewrite 'jina-galerka' -> '/index.php'
127.0.0.1 - - [22/Aug/2011:12:49:30 +0200] [locdev/sid#7953c8][rid#104ed98/initial] (1) [perdir D:/weby/dev/html/] internal redirect with /index.php [INTERNAL REDIRECT]
127.0.0.1 - - [22/Aug/2011:12:49:30 +0200] [locdev/sid#7953c8]

nize uvedene se pak opakuje od redir#1 az po redir#10


[rid#1058658/initial/redir#1] (2) init rewrite engine with requested uri /index.php
127.0.0.1 - - [22/Aug/2011:12:49:30 +0200] [locdev/sid#7953c8][rid#1058658/initial/redir#1] (1) pass through /index.php
127.0.0.1 - - [22/Aug/2011:12:49:30 +0200] [locdev/sid#7953c8][rid#1058658/initial/redir#1] (3) [perdir D:/weby/dev/html/] strip per-dir prefix: D:/weby/dev/html/index.php -> index.php
127.0.0.1 - - [22/Aug/2011:12:49:30 +0200] [locdev/sid#7953c8][rid#1058658/initial/redir#1] (3) [perdir D:/weby/dev/html/] applying pattern '^(_core|_test)+(.*)$' to uri 'index.php'
127.0.0.1 - - [22/Aug/2011:12:49:30 +0200] [locdev/sid#7953c8][rid#1058658/initial/redir#1] (3) [perdir D:/weby/dev/html/] strip per-dir prefix: D:/weby/dev/html/index.php -> index.php
127.0.0.1 - - [22/Aug/2011:12:49:30 +0200] [locdev/sid#7953c8][rid#1058658/initial/redir#1] (3) [perdir D:/weby/dev/html/] applying pattern '^([a-zA-Z0-9_.-]+)/?$' to uri 'index.php'
127.0.0.1 - - [22/Aug/2011:12:49:30 +0200] [locdev/sid#7953c8][rid#1058658/initial/redir#1] (2) [perdir D:/weby/dev/html/] rewrite 'index.php' -> '/index.php'
127.0.0.1 - - [22/Aug/2011:12:49:30 +0200] [locdev/sid#7953c8][rid#1058658/initial/redir#1] (1) [perdir D:/weby/dev/html/] internal redirect with /index.php [INTERNAL REDIRECT]
127.0.0.1 - - [22/Aug/2011:12:49:30 +0200] [locdev/sid#7953c8][rid#10617d0/initial/redir#2] (2) init rewrite engine with requested uri /index.php
127.0.0.1 - - [22/Aug/2011:12:49:30 +0200] [locdev/sid#7953c8][rid#10617d0/initial/redir#2] (1) pass through /index.php

Citovat příspěvek

 

Re: rewrite pravidlo s mnozinou, ktera obsahuje tecku - 500 server err

Autor: spaze

12:28:01 22.08.2011

Cau,

22. srpna 2011, 11:03:47, kubicek napsal(a):
> se zpětným lomítkem (což si myslím, že mimo hranatý zárovky bych
> měl), mez zpětných lomítek ... nada

to je divny. Co je v errorlogu serveru?

--
Alcohol and Calculus don't mix. Don't drink and derive.


Příspěvek zaslán emailem

Citovat příspěvek

 

Re: rewrite pravidlo s množinou, která obsahuje tečku - 500 server err

Autor: kubicek

11:03:47 22.08.2011

zkusil jsem to i vidlacky natvrdo rozdelit
RewriteRule ^([a-zA-Z0-9_-]+)\.([a-z]+)/?$
RewriteRule ^([a-zA-Z0-9_-]+)\.([a-z]{1,4})/?$

se zpětným lomítkem (což si myslím, že mimo hranatý zárovky bych měl), mez zpětných lomítek ... nada

Citovat příspěvek

 

Re: rewrite pravidlo s mnozinou, ktera obsahuje tecku - 500 server err

Autor: kubicek

10:49:42 22.08.2011

covece, tak nefunguje a to uz jsem ze zoufalstvi udelal tohle


RewriteRule ^([a-zA-Z0-9_.-]+)/?$ /index.php [NC,L]


=> Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

odstranim tu tecku a vsechno funguje - jak lokalne (win), tak vzdalene (lin), apache 2.2

Citovat příspěvek

 

Re: rewrite pravidlo s mnozinou, ktera obsahuje tecku - 500 server err

Autor: spaze

10:12:12 22.08.2011

Nazdarek,

22. srpna 2011, 10:01:18, kubicek napsal(a):
> RewriteRule ^([a-zA-Z0-9_\-\.]+)/?$ /index.php\?... atd atd

Dej pomlcku na posledni misto:

^([a-zA-Z0-9_.-]+)/?$

Jinak v regularnim vyrazu v character class neni potreba escapovat
snad nic, krome [ a ]. A pak taky premejslim, jestli by nebylo vubec
jednodussi prepsat proste vsechno:

RewriteRule .* /index.php?... atd atd

:)

--
Donaudampfschiffahrtselektrizitätenhauptbetriebswerkbauunterbeamtengesellschaft


Příspěvek zaslán emailem

Citovat příspěvek

 

rewrite pravidlo s množinou, která obsahuje tečku - 500 server err

Autor: kubicek

10:01:18 22.08.2011

Zdravím, mám dotaz


mám toto pravidlo, které funguje:
[code]RewriteRule ^([a-zA-Z0-9_\-]+)/?$ /index.php\?... atd atd[/code]
http://foo.cz/test-test => zafunguje jak má
dnes jsem zkoušel vyhodit zpětné lomítko u posledního "minusu" a funguje to i bez něj




nyní potřebuji, aby ten text mohl obsahovat i "tečku" a měl jsem za to, že to zfouknu přidáním "\." do množiny v hranaté závorce
[code]RewriteRule ^([a-zA-Z0-9_\-\.]+)/?$ /index.php\?... atd atd[/code]
výsledkem je 500 server error




Má otázka zní: [bold]jak docílit toho, aby mi prošlo?[/bold]

http://foo.cz/test-test.htm
popřípadě přidáním "/" i http://foo.cz/test/test-test.htm

za boha nemohu najít, jak tam narvat tu tečku :)

Chybí nějaké informace potřebné k zodpovězení otázky?

Citovat příspěvek

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: