Apache rewrite(?) segítség

Sziasztok!

Konkrét segítséget kérek, mert nem értek ahhoz, amit csinálni akarok :-D (kb úgy értem, hogy csinálja meg valaki nekem, lécci,lécci)

Adott egy NAS (NSA310). A beépített apache gyári konfigjában rewrite-tal oldják meg, hogy a beépített webszerver kiszolgálhasson saját oldalakat is és működjön a firmware-be épített cucc is (gyári home és admin oldalak).

Szeretnék egy olyan oldalt hegeszteni rá, ami a különböző (samba és nfs) megosztások tartalmát megmutatja, le- és feltölthetővé teszi (leginkább csoportmunka lenne, dokumentációk .dv anyagok mozgatása). A beépített megoldás azért nem jó, mert nem szeretnék minden résztvevőnek usert beállítani a NAS-on.

Ezért arra gondoltam, hogy a NAS megosztásait egy füst alatt a weben is megosztom akárcsak a siteot. így virtuális könyvtárként elérhető lesz a netről, de az nem lenne szerencsés, ha ezeket a tárakat a web felől listázni is lehetne.
(Ezt meg tudom oldani index file-lal, de az azért nem jó, mert aki pl a samba szerveren keresztül nézi a könyvtárat, adott esetben, simán törölheti (mondván: minek az oda, nem is az "enyém"))

A kérdésem/kérésem az, hogy a rewrite-tal (vagy más apache konfiggal) megoldható-e az, hogy ha nem konkrét (lehetőleg létező) fájl van a requestben, akkor egy adott oldalra irányítson át? Ha megoldható ez így, akkor képlet-szerűen segítene valaki? Olyasmit kérnék, ha nem nagy kérés, hogy:
xxxxxxxx "ez a cél path ami file név nélkül átirányít" xxxxxxxxxxxxxxxxx "ide" // az x-ek helyén az, amit én nem tudok... :-(

Tudom megtanulhatnám az idevágókat, de nem ez a munkám és a közeljövőben nem is lesz ilyesmi feladatom. Előre is köszönet minden segítségért.

Hozzászólások

Ok asszem kicsit zavaros voltam. :-(

A lényeg, hogy apache konfighoz csak nagyon basic szinten értek.
A következőre van szükségem:
1. a nason lévő belső samba/nfs megosztásokat el kell érni az internet felől weben.
2. a web felől le kell tudni tölteni a megosztások tartalmát
3. a web felől fel kell tudni tölteni fájlokat
4. a web irányából nem csak olyanoknak kell elérni a felületet, akik a nason (iletve a belső hálón létező userek, de nem lehet akárki)
5. a megosztások tartalmát nem szabad "listázni" (mint amikor a webszerver alól hiányzik az index.akármi fájl)

Az 1-2-3-4-et apache config és php/mysql alapon megoldom (kész van).
Az 5-ös okoz gondot, mert
a. Nem akarok minden könyvtárba index.php -t tenni, mivel a könyvtárstruktúra változik és a fájl sincs biztonságban
b. Nem akarom, hogy egy 404-es hiba menjen akkor, ha valaki okos, egy korábbi link alapján, az egész könyvtárra lenne kíváncsi. (ugye tiltom az apache-nak a listázást az index állomány hiányában)
c. Ez helyett azt szeretném, hogy ha valakinek van egy korábbi munkából https://akrmi.hu/web/izébigyó/specification.doc linkje, akkor a https://akarmi.hu/web/izébigyó/ url a https://akami.hu/web/itt_johetsz_be/ címre "vigye", a 404 error, illetve a könyvtár tartalmának listázása helyett.

Azért gondoltam a rewrite-ra, mert a stock firmware is azzal oldja meg, hogy a https://akarmi.hu/web/ cím a https://akarmi.hu/web/itt_johetsz_be/ címre irányít. Amivel picit más kellene, hogy ha kérés urljének végén nem file név (vagy ahhoz hasonló) szerepel, akkor irányítson ide: https://akarmi.hu/web/itt_johetsz_be/. Ha van fájl név az url végén, akkor már jó a szokásos működés. (vagyis ha van file, akkor letölt, ha nincs akkor 404)

Nem ragaszkodok a fentieken kívül semmihez sem, így a rewrite-hoz sem. Bármilyen megoldást szívesen fogadok. Ha olyan ötlet van, amihez értek, akkor a megoldást sem kell kidolgozni. Viszont pl a rewritehoz nem értek.

Remélem így érthetőbb, mit is szeretnék.
Köszi, h olvastátok és foglalkoztok vele.

Köszi, ez megvan :) Viszont ez esetben ez nem teljesül:

"Amivel picit más kellene, hogy ha kérés urljének végén _nem_ file név (vagy ahhoz hasonló) szerepel, akkor irányítson ide: https://akarmi.hu/web/itt_johetsz_be/. Ha van fájl név az url végén, akkor már jó a szokásos működés. (vagyis ha van file, akkor letölt, ha nincs akkor 404)"

Illetve a .htaccess file sincsen biztonságban, ha valaki belülről (lan felől) sambázik vagy nfst használ. Továbbá ha belül létrehoznak egy új könyvtárat, akkor a .htaccess sem jön létre magától. (persze itt megint kevés a tudásom, lehet hogy ez "örököltethető?)

Éppenhogy tiltani szeretném az "automatic indexest", de nem akarok 404-et küldeni, hanem átirányítani adott címre.

Guglizok közben, persze, de eddig nem sok sikerrel.

Na ezt nem értem.
", hogy ha kérés urljének végén _nem_ file név (vagy ahhoz hasonló) szerepel, akkor irányítson ide: https://akarmi.hu/web/itt_johetsz_be/. "

Mi az, hogy fájl név vagy hasonló szerepel? Arra gondolsz, hogy az URL egy 3 vagy négy betűs kiterjesztésre végződik, akkor azt kezelje úgy, mintha fájl, lenne?

Na jó, pontosítok a fájl szerűre: (\.[a-zA-Z0-9]{2,4})$ ilyen az a fájl szerű?

Kb jól érted, igen.

"Arra gondolsz, hogy az URL egy 3 vagy négy betűs kiterjesztésre végződik, akkor azt kezelje úgy, mintha fájl, lenne?"
Pontosan. Ezesetben letölt vagy 404.

Ha nem ilyen, akkor átirányít.

"Na jó, pontosítok a fájl szerűre: (\.[a-zA-Z0-9]{2,4})$ ilyen az a fájl szerű?" Igen, ilyen.

Most, hogy értem mit akarsz itt a config vonatkozó része:
A kettő közül elég az egyiket betenned a konfigba.

Ha van olyan fájl ami 2-4 kakter közötti kiterjesztére végződik akkor kiszolgálja a fájlt különben átdobja:
RewriteCondition %{REQUEST_URI} ! (\.[a-zA-Z0-9]{2,4})$
RewriteRule (.*) http://valami.domain/itt-gyere-be

Ha nem létezik a fájl akkor átdob, egyébként kiszolgálja a fájlt:
RewriteCondition %{REQUEST_URI} ! -f
RewriteRule (.*) http://valami.domain/itt-gyere-be