.htaccess RewriteRule

Sziasztok, van egy kis gondom egy htacces fajlal. A projekt a kovetkezokeppen nez ki:
projekt/
projekt/web/
projekt/web/images/
projekt/web/site/

Azt szeretnem elerni hogy ha pl. egy ilyen keres jon projekt/site/oldal.php akkor ezt ertelmezze a szerver projekt/web/site/oldal.php -nak. Ez meg is van ha a keres a site/-ra jon, de ha a keres az images-re vonatkozik (projekt/images/kep.png) akkor 500-as http error kapok.
A .htaccess file a kovetkezokeppen nez ki:

Options +FollowSymlinks
RewriteEngine on
RewriteBase /

RewriteRule ^(.*)$ projekt/web/$1

Hozzászólások

Rule ele tedd be ezt:


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

Ezzel letezo konyvar vagy fajl eseten nem csinal rewrite-ot.

--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

Sziasztok

Röpke kérdésemért nem akartam új topikot nyitni.

Hogyan lehet megoldani azt, hogy egy nyitó oldal jöjjön be, ha http://domain.hu -t írnak be, majd ne csináljon semmit, ha http://domain.hu/valami az URL?
Az oldal egyébként egy druapl.

Ilyesmivel próbálkozom sikertelenül:
RewriteRule !/^$ http://domain.hu/index.html [L]

Néha jól működik, de szerintem csak a böngésző cache szivat.

Az index.html tartalma egy linkelt kép, ami az index.php-ra visz. A DirectoryIndex index.php -ra van beállítva.

Előre is köszönöm a segítséget.

Nem ertem a kerdest sem.


RewriteRule ^/?$ http://domain.hu/nyito-oldal [L,QSA]

A te kodod meg... nem is tudom, mit csinal, a !/^$ ebben a formaban nem ervenyes Rewrite regex. Ha !^/$ akarna lenni, akkor viszont meg azt csinalna, hogy ha valaki nem a gyokeret akarja elerni, akkor dobja el az index.html -re. Ebben az a csapda, hogy ez konnyen okozhat infinite redirect loop-ot.

Legyszi adj teljes konfigot.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal 

Nincs konfig, kérdés van meg sajna sikertelen próbálkozás.
Van egy drupal site, kellene nyitó lap, ahol egy kanyi nagy logó van, ráírva: belépés. Ennyi:)
Logikus gondolat: irányítsa át a kérést index.html-re, HA a kérésben csak a domain szerepel.
oldalam.hu/ -> oldalam.hu/index.html

Itt pedig ne nyúljon bele:
oldalam.hu/?q=node/1

Ez nem jön össze. Játszottam a rewriteconddal, directoryindex-szel, eddig sikertelenül.
Drupalon keresztül is meg lehetne oldani menü, fejléc, stb blokkok nélküli oldal létrehozásával, de nem lenne az igazi, mert elvileg akkor azt kellene alapértelmezett kezdő node-nak megjelölni.

Ezen indultam el én is, de felvet egy másik problémát: A drupal egyem a szivét nem azt linkeli, hogy /index.php?q=node/1 hanem azt, hogy /?q=node/1
Így a / első indexének átadja, azaz index.html?q=node/1
Ami szívás.

Nem tudom át lehet-e ütni valahol a drupalban ezt a baseURL-t?

"nem uti az sehol a rewriteot, mert a rewriteban index.php -nak adja at."

Logikus lenne, de nem így működik.
Az directoryindex miatt a \q=valamit rögtön az index.html-nek adja, azt pedig próbáld ki, index.html?q=valami -re is ugyanúgy index.html jön be.
Ennél fogva mindig a nyitó oldal fog megjelenni a linkekre.
A rewrite szabály itt még hozzá sem szólhat, a directoryindex hamarabb lerendezi.

Az lenne a megoldás, ha a drupal rávehető lenne, hogy írja ki rendesen: /index.php?q=valami.

Nem találtam ilyet hirtelen, úhogy megoldottam az index.php első sorai közé szúrt utasítással:

if( $_SERVER['REQUEST_URI'] == "/" )header( 'Location: http://domainem.hu/index.html' ) ;

Lehet, hogy paraszt módszer, de ezzel megoldva.
Köszönöm mindenkinek aki próbált segíteni a megoldásban.

Azert az index.php modositgatasa kezlecsapasos dijazasban szokott reszesulni, meg a ganyolok koreben is.

Ha mar, akkor tedd a settings.php -be. Azt legalabb nem csapja felul az elso frissites.

Ja es a header() utan ne felejts el exit() -alni.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal