ugrás a tartalomhoz

mod_rewrite vs POST method (Symfony alatt)

fchris82 · 2008. Szep. 2. (K), 19.02
Nem értem, hogy hol a hiba :-/ Megpróbáltam beállítani a gépem, hogy a http://localhost/abc/xyz/web/index.php/info helyett http://local.xyz.com/info URL-lel tudjak hivatkozni egy oldalra. Ehhez létrehoztam Apache 2.2.4 alatt egy VirtualHost-ot, a host fájlba beírtam, hogy a local.xyz.com-ot a 127.0.0.1 IP-n keresse.
Ez eddig ok, működik. Minden oké, amíg linkekre kattintgatok. Viszont a belépő form nem működik.

<form action="http://local.xyz.com/admin/login" method="POST" id="login">
  <input type="text" name="email" id="login_email" value="E-mail" />
  <input type="password" name="password" id="login_password" value="jelszó" />

  <input type="submit" value="Login" />
</form>
Ezt elküldve, az index.php első sorába berakott print_r($_POST) fv teljesen üres tömböt ír ki! A FireBug pedig azt írja ki, pirosan a Net "fülnél", hogy >>POST 404 Not Found 13B<< . Viszont lenyitva, megnézve a headereket minden rendben lévőnek tűnik. Van POST fül is, ott is szerepel minden küldött adat, a PHP-hoz viszont az már nem jut el.

Van egy-egy .htaccess fájl az apache2\htdocs és az apache2\htdocs\abc\xyz\web könyvtárban. Lehet, hogy ez okozza a problémát :?

htdocs:

<IfModule mod_rewrite.c>
  RewriteEngine on

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</IfModule>
xyz:

Options +FollowSymLinks +ExecCGI

<IfModule mod_rewrite.c>
  RewriteEngine On

  # uncomment the following line, if you are having trouble
  # getting no_script_name to work
  #RewriteBase /

  # we skip all files with .something
  # comment the following 3 lines to allow periods in routes
  RewriteCond %{REQUEST_URI} \..+$
  RewriteCond %{REQUEST_URI} !\.html$
  RewriteRule .* - [L]

  # we check if the .html version is here (caching)
  RewriteRule ^$ index.html [QSA]
  RewriteRule ^([^.]+)$ $1.html [QSA]
  RewriteCond %{REQUEST_FILENAME} !-f

  # no, so we redirect to our front web controller
  RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

# big crash from our front web controller
ErrorDocument 500 "<h2>Application error</h2>symfony application failed to start properly"
Pedig nem kéne, ha jól gondolom. Hol tűnik el a POST adat? Merthogy mindent megkap az index.php, kivéve azt.
 
1

Dev környezet?

Franczen Attila · 2008. Szep. 4. (Cs), 11.08
http://local.xyz.com/frontend_dev.php/info mit mutat?
2

Bejön a megfelelő oldal

fchris82 · 2008. Szep. 8. (H), 21.21
Mire gondolsz pontosan? Ha létezik a fájl, akkor minden oké. Bejön a megfelelő oldal.
3

óóóhogyaza

fchris82 · 2008. Szep. 8. (H), 21.33
Újra raktam az Apache-ot vmikor, és az új konfig fájlban mindent beállítottam, csak azt nem, hogy a mod_rewrite modult töltse be. Ez okozta az anomáliát :))) Szóval, minden ok.