Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Modrewrite
Forum PHP.pl > Forum > Serwery WWW > Apache
Athlan
Mod rewrite pytań kilka…

Witam, ostatnio zastanawiam się nad jedną kwestią budowy składni mod_rewrite’a. Zazwyczaj jeżeli wpiszemy adres http://page.pl/style.css adres odwoła się do katalogu /public_html/style.css . Napisze wstęp do mojego problemu. Zakładamy, że ktoś zażyczył sobie takiego przepisywania, kiedy plik istanieje, wówczas jest przepisywany, a jeżeli nie, to deklarujemy jakiś inny plik (dla przykładu index.php). Zasada jest taka:
http://page.pl/style.css
to: /public_html/style.css
http://page.pl/nieistniejący_style.css
to: /public_html/index.php

Kod .htaccess wyglądałby mniej więcej tak:

Kod
RewriteEngine On
RewriteBase /

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

RewriteRule ^(.+)$ $1

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

RewriteRule ^(.+)$ index.php


Możnaby jeszcze zamiast wykrycia niewłaściwego pliku wywołać index.php jako ErrorDocument 404, ale trzymajmy się powyższego schematu.

Ok., powyższy przykład szuka pliku w katalogu /public_html/. Załóżmy, że mam taką strukturę: w katalogu głównym /public_html/ jest plik index.php oraz folder /www/. Wszystkie adresy przyjmowałyby następujący schemat:
http://page.pl/style.css
to: /public_html/www/style.css
http://page.pl/nieistniejący_style.css
to: /public_html/index.php

Moje pytanie brzmi: jak zmodyfikować RewriteCond %{REQUEST_FILENAME} –f tak, aby sprawdzał, czy plik istnieje w folderze /www/ a nie w folderze głównym?

P.S: robiłem, że rewritebase jest na /www/, a index był: ../index.php ale nie działało... ciągle wyskakiwał index.
Kayne
A nie łatwiej po prostu użyć WildCard?
dr_bonzo
php Pro?? PRzenosze
Athlan
Cytat(Kayne @ 7.12.2006, 00:10:54 ) *
A nie łatwiej po prostu użyć WildCard?


Potrzebuję to zrobic tak, jak opisałe w poście #1
envp
  1. RewriteCond /www/%{REQUEST_FILENAME} !-f


questionmark.gif
Athlan
no niestety nie dziala smile.gif
envp
zawsze mozesz zrobic przekierowanie wszystkiego na get.php i tam parsowac i decydowac co podawac do przegladarki smile.gif
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.