ugrás a tartalomhoz

Zend .htaccess probléma?

Navee · 2011. Júl. 8. (P), 16.23
Sziasztok!

Szeretnék egy óriási segítséget kérni: Zend Framework-ben írok egy miniadmint, és eljutottam ahhoz a részhez, hogy szükségem lenne egy wysiwyg szerkesztőre (tinyMce-t választottam). Be is raktam az index.php-vel egy szinten lévő js/tiny_mce könyvtárba. Behúztam, tök jó, megjelent. Szerettem volna beilleszteni képet, és ehhez a tinyMce editor menüsorán a kép beillesztése gombra kattintottam (még alap tinyMce-m van, nem telepítettem fel hozzá semmilyen kiegészítőt). Ekkor jött fel egy popup ablak, és egy üzenet, hogy letöltöm e az image.htm fájlt. Elméletileg ennek le kéne futni, nem pedig letöltődnie. (ez a fájl a [public_html]/js/tiny_mce/plugins/adimage könyvtárban van).
Elkezdtem agyalni, mi lehet a probléma, és oda jutottam, hogy biztos a .htaccess-ben van valami gebasz. Megnéztem, Zend-ék által ajánlott alap .htaccess fájlom van, a következő tartalommal:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]


Mivel annyira - leginkább semennyire - nem értek a .htaccess-es dolgokhoz, elkezdtem kutakodni, mit kéne módosítanom, hogy szeresse. Rengeteg dolgot találtam, próbálkoztam, de mégsem működött semmi. Aztán megpróbáltam direktbe beírni a böngészőbe a file-t a teljes útvonallal, de arra is ugyanazt küldte. Aztán egy időre átneveztem a .htaccess fájlt .htaccessx-re, hogy megpróbáljam a nélkül, de úgy sem működöt! :( Viszont megpróbáltam .js fájlokat beadni url-be, működött .htaccess-el és nélküle is.
Fizetős tárhelyet használok, nem lokált és nem ingyeneset. Igazából a szolgáltatóval sosem volt problémám.

Valakinek van ötlete, hogy mi a frászkarikát nézek be, mielőtt a maradék hajállományomat is kitépem? :)

Előre is köszönök minden hozzászólást!
 
1

Akkor is ez történik, ha

bb0072 · 2011. Júl. 8. (P), 17.28
Akkor is ez történik, ha közvetlenül ezt hívod a böngészőben: http://yourdomain.hu/js/tiny_mce/plugins/advimage/image.htm ?
Más htm file-al is ugyanezt csinálja? És a html file-okkal?

(Az adimage ugye csak elírás, mert advimage a plugin neve?)
2

Igen, akkor is ugyanezt

Navee · 2011. Júl. 8. (P), 17.53
Igen, akkor is ugyanezt tolja. Raktam be mellé egy .html kiterjesztésűt, és azzal is ugyanazt csinálja. Őrület... :(
Még annyit kell tudni, amit előbb nem írtam, hogy ez aldomain-en van. aldomain.domain.hu/... Úgy van megcsinálva, hogy a public_html könyvtárra közevetlenül rá van irányítva egy domain, és a public_html-ben van egy /aldomain könyvtár, ami a fent említett formában hívható.
Azt is megpróbáltam már, hogy a public_html közvetlen könyvtárból is eltávolítottam a .htaccess-t - annak ellenére, hogy sejtem, hogy semmi köze nincs hozzá -, de úgy sem.
Igen, advimage a plugin neve, csak sikerült elírnom... :)
8

Ha zend nélkül teszel be

inf · 2011. Júl. 9. (Szo), 10.30
Ha zend nélkül teszel be html-t, akkor ugye nem ajánlja fel letöltésre? :-)

Amúgy nekem is problémáim vannak a zend + htaccess-el. Olyan a tárhelyem, hogy nincs httpd.conf hozzáférésem, aztán a document root-ban van a projekt, és onnan kéne átirányítanom a public mappára. A gond csak annyi, hogyha átirányítom, akkor mindig a projekt 404-es oldala jön fel. Szóval a route környékét érdemes lenne megnézni sztem neked meg nekem is, mert ott lehetnek súlyos gondok...

Próbáld ki enélkül a sor nélkül:
RewriteCond %{REQUEST_FILENAME} -s [OR]

A -s az regular file with size, na most nem tudom mi a különbség a -f (regular file) és eközött? Egyébként meg úgy szokták, hogy !-f, és akkor egy conditionnel el lehet intézni, nem kell három bele.
11

Nekem is olyan a tárhelyem,

Navee · 2011. Júl. 9. (Szo), 15.16
Nekem is olyan a tárhelyem, hogy nincs httpd.conf hozzáférésem, de eddig hál'Istennek nem is kellett nagyon. :) Ha esetleg tárhely szolgáltatót szeretnél váltani, akkor tudok ajánlani egy jó céget: http://tarhely.eu. Minden részlehajlás nélkül mondom, több éve vásárlom tőlük a tárhelyeket, jó ár/érték aránnyal dolgoznak, arról nem is beszélve, hogy nagyon korrekt banda, rendkívül segítőkészek.

Megpróbáltam, amit írtál, mindkét dolgot:
- kivettem a -s részt. Ekkor megjött az oldala, de a Firebug írta, hogy nem tudja behúzni a tiny_mce.js-t. Úgyhogy ment vissza.
- a RewriteCond-ba a három sor helyett !-f -et adtam, de nagyon nem szerette, 404-et kaptam. (Nem lehet, hogy ezért kapsz 404-et? Próbáld ki az én .htaccess-emmel, hátha menni fog).

Azt írod, hogy "a document root-ban van a projekt, és onnan kéne átirányítanom a public mappára". Átirányítás alatt nem tudom mire gondolsz, leírom hogy én hogy építem fel a struktúrám, hátha tudok valamiben segíteni:
root
--- Applications
--- --- Projekt1/...
--- --- Projekt2/...
--- --- ...
--- Core
--- --- Zend/...
--- --- Projekt1/...
--- --- Projekt2/...
--- --- ...
--- public_html
--- --- Projekt1
--- --- --- js/...
--- --- --- css/...
--- --- --- images/...
--- --- --- index.php
--- --- --- .htaccess (a barátom... :) )
--- --- Projekt2
--- --- --- ...


A public_html-ben a Projekt1-re húzok mindig egy aldomaint, és úgy futtatom az alkalmazást. Így elméletileg nem szabadna összeakadnom semmivel.

Egyébként az én problémámra megtaláltam a megoldást, hamarosan publikálom! :)
12

Na nekem közben megoldódott a

inf · 2011. Júl. 10. (V), 19.07
Na nekem közben megoldódott a probléma, varázsolni kell a set_include_path-el, meg azt hiszem olyan gond is volt, hogy lowercase-ben töltöttem fel az osztályokat, és azt nem szerette a rendszer. Most már minden jól megy éles szerveren is, uh. elkezdem csinálni az oldalt.
3

HTTP fejlécek

Poetro · 2011. Júl. 8. (P), 18.41
Nézd meg, hogy a szerver milyen HTTP fejlécekkel adja vissza a tartalmat? Esetleg másik .htaccess file van az útvonal közben valahol megadva, ami módosít a fejléceken stb.
4

Ezen a címen -

Navee · 2011. Júl. 8. (P), 19.42
Ezen a címen - http://web-sniffer.net/ - az eszköz visszaadja a http header response-t. (Gondolom valami ilyesmire gondoltál). Ez volt a válaszban:

Status: HTTP/1.1 200 OK
Date: Fri, 08 Jul 2011 17:46:37 GMT
Server: Apache/2.2.19
Last-Modified: Tue, 31 May 2011 18:05:07 GMT
ETag: "984040c-2f36-4a4963e78dac0"
Accept-Ranges: bytes
Content-Length: 12086
Connection: close
Content-Type: application/x-httpd-php


Sajnos nem lettem okosabb tőle. :( Te látsz benne valamit? Lehet hogy az application/x-http-php a probléma?
5

application/x-httpd-php

Poetro · 2011. Júl. 8. (P), 20.08
A Content-Type-nak text/html-nek kellene lennie.
6

Ok, köszönöm! Tudsz valami

Navee · 2011. Júl. 9. (Szo), 10.14
Ok, köszönöm! Tudsz valami tippet adni, hogy kellene (meg hol) ilyet varázsolnom? Meg eleve minek köszönhetem azt, hogy automatica ilyen típusúnak állítja be? Ez függhet a .htaccess-től? Abba van beírva (vagy kihagyva valami) ami ezt eredményezi?
7

Lehet

Poetro · 2011. Júl. 9. (Szo), 10.28
Simán lehet, hogy abban van valami, ami ezt eredményezi. Érdemes lenne megnézni az összes .htaccess fájlt, ami létezik a kérdéses útvonalig eljutva, valamint megnézni, hogy ha máshova raksz egy .htm illetve .html fájlt, az hogyan viselkedik, ugyanis lehet valami globális beállítás (httpd konfigurációs fájlokban). Az AddType, SetHandler és AddHandler direktívákat kellene keresni.
9

Lehetséges, hogy a php

inf · 2011. Júl. 9. (Szo), 10.41
Lehetséges, hogy a php értelmezőnek adja át a html fájlt, vagy mi a szösz :D Próbáld ki mi van, ha php kódot teszel a fájl elejébe, mondjuk <?php exit(); vagy bármi hasonló.
Töltsd le a html-t, hogy benne van e a teljes tartalom, vagy üres e a fájl?
10

Srácok! Köszönöm szépen a

Navee · 2011. Júl. 9. (Szo), 15.15
Srácok!

Köszönöm szépen a segítséget, úgy néz ki megoldódott a problémám. Nem teljesen értem, hogy miért ez lehet (lett) a megoldás - szerveres dolgokban nincs nagy tapasztalatom, az tény -, de publikálom, hátha valaki egyszer elmagyarázza.

Tehát összefoglalva:

Volt egy Zend-es projektem egy olyan tárhelyen, ahol több Zend-es és egyéb cuccom volt (weboldalak, joomla, wordpress stb). A projekt egy aldomain-ra lett rákötve, tehát elméletileg szeparálva a többi cucctól.

Volt a .htaccess-em (Zend-ék által javasolt alap) az aldomain könyvtárában:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]


Behúztam egy tiny_mce-t, ami működött, de a popup ablakban a .htm fájlokat nem ismerte fel, le akarta mindig tölteni. Meg lett vizsgálva a http header response, amiben volt egy feltűnő sor:
Content-Type: application/x-httpd-php

Aztán kaptam egy ötletet, hogy nézzem meg, hogy hol és merre van még .htaccess fájl, mert az bekeverhet.

És NYERT!

A fődomain public_html könyvtárában volt egy könyvtárban joomla telepítve (a maga kis .htaccess fájlaival...). Ezt letöröltem, és azóta nem akarja letölteni a .htm-eket, hanem lefuttatja... :) Ámen.