Veikia :)

Pasirodo serveris, dėl kiek kitokio url rewraitinimo, nepasiekdavo 404 klaidos puslapio.
O kadangi šiuo atveju iš dalies per 404 klaidos valdymą veikia url rewraitas, viskas dėl to.

Kreipiantis tiesiog pagal nuorodą "/test" ar kokią kitą - meta klaidos pranešima request not found on server, 404 klaidos pranešimas

minde wrote:
minius wrote:

Id parametras perduodamas.

[REQUEST_METHOD] => GET
[REQUEST_URI] => /pagelt/test.php?id=10

O į kokį URL tu čia kreipeisi?

Nes tavo tikslas yra patikrinti ne URI parametrą, o ar perrašomas URL'as.

Iš pradžių daryk viską viename kataloge. Taip pat svarbu žinoti ar egzistuoja kokie nors perrašymai/taisyklės aukštesniuose kataloguose?

Pašalinau bet kokias ankščiau buvuses taisykles.
Gal gali kiek smulkiau nurodyk pagal kokią nuorodą turėčiau tikrinti pagal tavo nurodytą konfigą?

Padėjau test.php failą po tuo katalogu, kur yra webas. Pakeičiau .htaccess konfigą. Paskui iš kito failo, po tuo pačiu katalogu, darau nuorodą į jį, tačiau nuoroda nerewritinama..

Kreipiantis tiesiog pagal nuorodą "pagelt/test" - klaidos pranešima request not found on server, 404

Patikrinau.

Id parametras perduodamas.

[REQUEST_METHOD] => GET
[REQUEST_URI] => /pagelt/test.php?id=10

Dabartinis setupas veikia gerai, tik nuorodų nerewritina.

http://www.page.lt/pagelt/prisijungti - tokios nesupranta

http://www.page.lt/lpagelt/index.php?id=216&sid=20 - tokią įvykdo normaliai.

Mano tikslas, tiesiog kad serveris teisingai interpretuotų nuorodą pvz.:

http://www.page.lt/pagelt/prisijungti

o man būtent ir reikia šito. Nes tvs'as pats pateikia tvarkngas nuorodas, tik jų serveris neinterpretuoja atitinkamai.

Logai nevedami.


Naudoju taisyklę:

<IfModule mod_rewrite.c>
   RewriteEngine on   
   RewriteBase /
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)$ /pagelt/index.php?id=$1 [L,QSA]
</IfModule>

Klaidų nemeta jokių, nebent kartais darant keitimus taisyklėje meta 500 klaidos pranešimą. Peidzas padėtas po katalogu "pagelt". Bet nesvarbu ar po katalogu, ar ne resultas tas pats.
Tiksliai nežinau, kaip šioje eilutėje:

RewriteRule ^(.*)$ /pagelt/index.php?id=$1 [L,QSA]

aprašyti, kad jis ne pagal peidžų id nuorodas suprastų ir rewraitintų, bet tiesiog pagal katalogą.
O galbūt ir ne šioje eilutėje reikia tai daryti:)


Standartiškai tvs'as veikia puikiai su šiomis taisyklėmis:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

Jo, pasirodo mod_rewrite yra ir jis aktyvuotas.
Tik kolkas niekaip neįtaikau kokių jam rewriterule/rewritecond reikia, kad veiktų.
Nes su naudojamomis įprastai neveikia, nerewritina..

Sveiki,

turiu klausimėlį.

Kuomet serveryje php veikia kaip apache modulis, draugiškos nuorodos realizuojamos per mod_rewrite apache modulį.

O kaip tai padaroma ir kokie parametrai ar moduliai įgalima url rewrite mechanizmą, kai serveryje php vykdomas CGI/FastCGI aplinkoje ?

Iškilo toks klausimas, nes eilė saitų yra paleistų su tuo pačiu tvs ir ant CGI/FastCGI tipo servakų ir viskas veikia puikiai. Tačiau viename serveryje niekaip sėkmingai paleisti nepavyksta. Lyginant serverių konfigūracijos nustatymus (žiūrint info per phpinfo() ) skirtumų kaip ir nėra arba jų nepastebėjau lyginant. Abiejuose serveriuose veikia linux os.

Pats mažai užsiimu serverių administravimu, todėl būtų puiku čia sulaukti pagalbos šiuo klausimu.

Iš anksto dėkoju už pagalbą!

Sveiki,

Ieškomas patyręs Joomla programuotojas, galintis integruoti atsiskaitymus per elektroninę bankininkyste.
Programuotojas turėtų būti realiai diegęs vieną ar kelis lietuviškus bank link`us ant Joomla tvs'o arba labai gerai su tuo susipažinęs.

šiuo metu reiktų integruoti vieną banką (swedbank), ateityje būtų integruojami ir kiti bankai.
Sistema ant Joomlos veikia su integruotu VirtueMart moduliu.

Laukiu norinčiųjų atliktį šį darbą.

Darau išvada, kad flash su .htaccess nedraugauja :)
Nes, tikrai, su kitais skriptais veikia normaliai viskas..

Jo, aš ir stengiuosi padaryti kad xml failo iš išorės neleistų..
O hostinimas po serveriai.lt, jokių spec nustatymų nėr.

Manau darant per <File> turėtų uždrausti prieigą iš išorės prie xml'o, visiškai neribojant kaip ir kokie ten vidiniai skriptai kreipiasi į jį. Bet kažkodėl neveikia tai:(

Nes yra flash'as, kuris updeitina xml failą, naudodamas menką php skriptuką.
čia galbūt dėl to kaip flash'as updeitina xml failą?

šiuo atveju, nelabai patogu koreguoti xml updeitimo scenarijų.
Todė geriausias variantas būtų jei .htaccess sudirbtų..

Ar įmanoma apsaugoti failą (per.htaccess ), kad niekas jo negalėtų peržiūrėti iš išorės, bet vidiniai serverio skriptai be jokių apribojimų galėtų kreiptis į tą failą ir jį vykdyti?

šiuo atveju tai xml failas talpinamas web direktorijoje serveryje.


<Files failas.xml>
order deny,allow
deny from all
</Files>

tokiu būdų failas apsaugomas, tačiau vidiniai skriptai nebegali įrašyti į jį informacijos.

Gal kas žino kokie būtų .htaccess failo nustatymai, kad failo prieiga būtų uždrausta tik iš išorės?

Sveiki,

Norėčiau pasiteirauti, gal kas žino kokį gerą būdą kaip greitai perkelti mysql duomenų bazę iš vieno serverio į kitą??
Duomenų bazės apimtis ~200 MB

Pasidariau su laikina lentele - paprasčiau ir greičiau ;)

Dėkui už patarimus

Mano pateikti pirminiai duomenys ir reikiamas rezultatas yra teisingai suformuluoti.

Neįvertinta tiesiog viena sąlyga, kurią minėjau pirmoje savo žinioje, kad įrašų skaičius lentelėje yra apie 60 000.

Todėl bet kokios užklausos kurios turi subužklausas, ar kažkokias IN išraiškas yra tiesiog nebaigiamos vykdyti.

Dėl to aš ir bandžiau visai parašyti užklausą per JOIN'nus, nes jie greitai veikia. Tai šiuo atveju geriausias sprendimas būtų SELECT'as tik su JOIN'ais ir naudojant WHERE paprastai be jokių subužklausų.

Manau, tikrai galima tokią parašyti, tik neįkertu kaip. Laikas spaudžia.


Sugalvojau daryt kitaip. Kursiu laikiną lentelę su vadybininkui priklausančiais klientais ir paskui per kitą užklausą palyginsiu.

šiaip tavo pasiūlyta užklausa panaši į mano, tik jungiama prie kitos lentelės. Bet ji neišveda jokio rezultato, nepavyko pritaikyti.

Labas rytas,
kartoju, jei šis išsireiškimas nieko nesako:

Užklausa turi išvesti tuos klientus, kurie priklauso darbuotojui 'admin'. Priklauso darbuotojui 'admin' REIšKIA, kad klientų, priklausančių darbuotojui 'admin' ir darbuotojui 'vadybininkas', 'company' lauko reikšmės yra VIENODOS.

nekreipki į ji dėmesio.
Tiksliai ko man reikia yra nurodyta pirmoje mano žinutėje

užklausos rezultatas turėtų būti:

leadid    company
7             niekadejas

O lentelės su tiksliais duomenimis pateikta žemiau.

a)  dar nesugalvojau kaip palyginti kompanijos laukus, nejungiant papildomai lead lentelės;
b) kokio užklausos man reikia manau geriausia atspindi pirmos mano žinutės vieta, kur nurodžiau koks rezultatas turėtų būti..
c) šiuo atveju negalima atlikti jokių normalizavimų;

Dar šiek tiek pasikankinęs ir panaudojęs LEFT JOIN susikūriau užklausą, kuri daro:
1) išrenka klientus, kurie priklauso vadybininkui;
2) išrenka klientus, kurie priklauso adminui;
3) sujungia abu rezultatus;

o palyginti kompanijų nepavyksta niekaip :( žemiau užklausa.


SELECT `lead_main`.`company`
 
FROM  ((`lead` AS `lead_main`


LEFT JOIN `lead` AS `lead_vadybininkas` ON `lead_vadybininkas`.`leadid` = `lead_main`.`leadid`

LEFT JOIN `entity` AS `entity_vadybininkas` ON `entity_vadybininkas`.`leadid` = `lead_main`.`leadid`

LEFT JOIN `users` AS `users_vadybininkas` ON `users_vadybininkas`.`id` = `entity_vadybininkas`.`id` AND `users_vadybininkas`.`name` = 'vadybininkas')



LEFT JOIN `lead` AS `lead_admin` ON `lead_admin`.`leadid` = `lead_main`.`leadid`

LEFT JOIN `entity` AS `entity_admin`  ON `entity_admin`.`leadid` = `lead_admin`.`leadid`

LEFT JOIN `users` AS `users_admin` ON `users_admin`.`id` = `entity_admin`.`userid` AND `users_admin`.`name` = 'admin')


WHERE     `users_admin`.`name` = 'admin'

Kad palyginti kompanijas bandžau sąlygoje prikabinti kažką tokio:

`lead_admin`.`company` = `lead_vadybininkas`.`company`

arba konstruoti ORDER BY bet kažkodėl nelygina lyg užsispyręs :)
įtariu kad galbūt šiuo atveju trūksta kažkokios teisingos ORDER BY išraiškos....

Arba tarkim ši dalis:


SELECT `vtiger_leaddetails_admin`.`company`

FROM  `lead` AS `lead_main`


INNER JOIN `lead` AS `lead_admin` ON `lead_admin`.`leadid` = `lead_main`.`leadid`

INNER JOIN `entity` AS `entity_admin`  ON `entity_admin`.`leadid` = `lead_admin`.`leadid`

INNER JOIN `users` AS `users_admin` ON `users_admin`.`id` = `entity_admin`.`userid` AND `users_admin`.`name` = 'admin'


išvada visus klientus, kurie priklauso tik darbuotojui 'admin', nepalyginant kaip reikia pagal kompanijos pavadinimą.

Vat vienas iš variantų:


SELECT `vtiger_leaddetails_admin`.`company`

FROM  `lead` AS `lead_main`


INNER JOIN `lead` AS `lead_admin` ON `lead_admin`.`leadid` = `lead_main`.`leadid`

INNER JOIN `entity` AS `entity_admin`  ON `entity_admin`.`leadid` = `lead_admin`.`leadid`

INNER JOIN `users` AS `users_admin` ON `users_admin`.`id` = `entity_admin`.`userid` AND `users_admin`.`name` = 'admin'




INNER JOIN `lead` AS `lead_vadybininkas` ON `lead_vadybininkas`.`leadid` = `lead_main`.`leadid`

INNER JOIN `entity` AS `entity_vadybininkas` ON `entity_vadybininkas`.`leadid` = `lead_main`.`leadid`

INNER JOIN `users` AS `users_vadybininkas` ON `users_vadybininkas`.`id` = `entity_vadybininkas`.`id` AND `users_vadybininkas`.`name` = 'vadybininkas'




WHERE `users_admin`.`name` = 'admin' AND `lead_admin`.`company` = `lead_vadybininkas`.`company`



Bet čia atrenka tik tuos klientus, kurie priklauso abiems vartotojams pagal id, o kaip palygint pagal kompanijos pavadinimą man nepavyksta, kažką darau ne taip.
Aš neatkasu, kaip, tarkim, naudojant join'tus šiuo atveju teisingai prisijungti informaciją apie tuos klientus kurie priklauso darbuotojui 'vadybininkas' ir kad vėliau per WHERE galima būtų palyginti kompanijų pavadinimus iš laikinų lentelių priklausančių skirtingams darbuotojams? O gal aš per sudėtingai bandau padaryt :)