Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pytanie o htaccess
Forum PHP.pl > Forum > Serwery WWW
IProSoft
Mam pytanie dotyczące zasad mod_rewrite, a mianowicie ma kod:

[APACHE] pobierz, plaintext
  1. RewriteCond %{REQUEST_URI} ^/folder/min-(.*)
  2. RewriteCond %{REQUEST_FILENAME} !-f
  3. RewriteRule folder/min-(.*)$ /folder2/?files=$1 [L,NC,QSA]
[APACHE] pobierz, plaintext


Kod działa na zasadzie przekierowania jeśli wywołany URL nie jest plikiem istniejącycym na serwerze i działa poprawnie.

Co chcę osiągnąć ? Odczytanie pliku nie dla całej nazwy ale tylko dla jej części, czyli mając adres:
Kod
/folder/min-123456-jakistekst.txt

to jeśli na serwerze w folderze folder/ bedzie plik
Kod
/folder/jakistekst.txt

serwer zwróci ten plik, a nie przekieruje do
Kod
/folder2/?files=123456-jakistekst.txt


Mam nadzieję, że wyjaśniłem o co mi chodzi dość klarownie :-)
Pyton_000
a może po prostu dawaj link w takim formacie?

/folder/jakistekst.txt?min=23423412
IProSoft
Gdyby to było tak proste nie pisał bym tematu :-)

W tym problem, że jeśli przejdzie dalej musi być cały link, a nie tylko jego część.
trueblue
Nie wiem czy dobrze rozumiem, ale.
Przekieruj całość na jakiś plik php (trzecia linijka). W nim sprawdzaj czy istnieje fizycznie plik o "zmienionej" nazwie, czy nie. W pierwszym podaj ten plik, w drugim przekieruj na /folder2.
IProSoft
Dzieki za pomysł ale tak właśnie miałem wcześniej, przekierowanie na PHP i tam sprawdzenie czy plik istnieje jednak za wszelką cenę chcę tego uniknąć i pozostać w htaccess
trueblue
A coś w ten deseń?

Kod
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/folder/min-([a-z0-9]+)-([a-z0-9]+).txt$
RewriteCond %{DOCUMENT_ROOT}/folder/%2.txt -f
RewriteRule .* /folder/%2.txt

RewriteCond %{REQUEST_URI}  ^/folder/min-(.*)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule folder/min-(.*)$ /folder2/?files=$1 [L,NC,QSA]

IProSoft
Super, o to mniej więcej chodziło, czyli wykorzystanie %{DOCUMENT_ROOT}

Dzięki.
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.