Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne][.htaccess] przekierowanie zapytania na podkatalog
Forum PHP.pl > Forum > Przedszkole
czychacz
wybaczcie mi, ale jestem zielony w htaccess :/
na serwerze mam następującą strukturę katalogów:
Kod
/
+-public
  +-katalog_z_plikami
  | +-lol.jpg
  | +-rofl.png
  +-plik.html


chciałbym domyślnie dla katalogu głównego ustawić przekierowanie żądania na public.
próbowałem:
Kod
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !/public/
RewriteRule ^(.*)$ /public/$1 [L]
#ten tutaj o ten kod nie pozwala na otwarcie plików - dodałem go świadomie
<Files ~ ".*">
    Order allow,deny
    Allow from all
</Files>

ale nibanana :/ po prostu nie wchodzi. dostaję 404.
szczerze mówiąc, to nie wiem, czy w ogóle powinienem dawać jednocześnie blokadę dostępu do plików i rewriterules. bo chyba jedno wykluczy drugie. chyba.
w public jest htaccess z:
Kod
<Files ~ ".*">
    Order allow,deny
    Allow from all
</Files>
SetEnv APPLICATION_ENV development
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

tak, zend wink.gif
zaiste, problem chyba jest w tym pierwszym pliku, ale gdzie dokładniej to nie wiem. szukałem na innych stronach, ale zwykle trafiam na wyniki w stylu "ustaw przekierowanie z subdomeny lol.rofl.com na rofl.com/lol"
próbowałem też R=301, ale toże nie wyszło.

any ideas?

nikt nie ma pomysłów na rozwiązanie?
Necsord
Cytat
Kod
/
+-public
  +-katalog_z_plikami
  | +-lol.jpg
  | +-rofl.png
  +-plik.html


Jeżeli masz dokładnie taką strukturę plików to błąd leży w ostatniej linijce htaccess'a Zend'a, ponieważ wszystkie zapytania (oprócz tych od plików i katalogów) przekierowujesz na index.php w katalogu public, którego jak widać powyżej nie posiadasz. Jeżeli jest inaczej i posidasz ten plik to pokaz przykładowe linki dla których według ciebie to nie działa.
czychacz
Kod
/
+-application
+-library
+-public
| +-javascript
| +-stylesheet
| +-.htaccess
+-.htaccess

tak dokładnie prezentuje się struktura katalogów w tym projekcie.
z .htaccess z katalogu głównego chcę zrobić przekierowanie na katalog public w taki sposób, żeby na pasku adresu nie było widać, że to jest przekierowanie. wydaje mi się, że to jest możliwe, ale nie mam pewności...
Necsord
No i tak masz, a w katalogu public masz przekierowanie na index.php.
czychacz
temat powraca (wcześniej miałem mało czasu na badanie go).
Kod
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !public/
RewriteRule ^(.*)$ public/$1 [NC,L]

ten kod faktycznie przekierowuje żądanie na podkatalog (wywaliłem "/" na początku nazwy katalogu), ale przekierowuje razem z nazwą katalogu nadrzędnego (jak mam w adresie "localhost/folder/" to przekierowuje do public z nazwą kontrolera 'folder' - czyli dostaję błąd tongue.gif)
da się to jakoś poprawić?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.