Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Modrewrite
Athlan
post
Post #1





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

Ostrzeżenie: (0%)
-----


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.


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Kayne
post
Post #2





Grupa: Zarejestrowani
Postów: 82
Pomógł: 0
Dołączył: 30.04.2006
Skąd: Kalisz

Ostrzeżenie: (0%)
-----


A nie łatwiej po prostu użyć WildCard?


--------------------
Chcesz szybko i łatwo wygrać 100 zł?
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


php Pro?? PRzenosze


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Athlan
post
Post #4





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

Ostrzeżenie: (0%)
-----


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


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
Go to the top of the page
+Quote Post
envp
post
Post #5





Grupa: Zarejestrowani
Postów: 359
Pomógł: 1
Dołączył: 16.04.2006
Skąd: Łódź

Ostrzeżenie: (0%)
-----


  1. RewriteCond /www/%{REQUEST_FILENAME} !-f


questionmark.gif
Go to the top of the page
+Quote Post
Athlan
post
Post #6





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

Ostrzeżenie: (0%)
-----


no niestety nie dziala smile.gif


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
Go to the top of the page
+Quote Post
envp
post
Post #7





Grupa: Zarejestrowani
Postów: 359
Pomógł: 1
Dołączył: 16.04.2006
Skąd: Łódź

Ostrzeżenie: (0%)
-----


zawsze mozesz zrobic przekierowanie wszystkiego na get.php i tam parsowac i decydowac co podawac do przegladarki smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 04:36