Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pytanie o htaccess, Flaga -f
IProSoft
post
Post #1





Grupa: Zarejestrowani
Postów: 479
Pomógł: 97
Dołączył: 6.09.2011
Skąd: php.net :)

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


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 :-)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


a może po prostu dawaj link w takim formacie?

/folder/jakistekst.txt?min=23423412
Go to the top of the page
+Quote Post
IProSoft
post
Post #3





Grupa: Zarejestrowani
Postów: 479
Pomógł: 97
Dołączył: 6.09.2011
Skąd: php.net :)

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


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ęść.
Go to the top of the page
+Quote Post
trueblue
post
Post #4





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


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.
Go to the top of the page
+Quote Post
IProSoft
post
Post #5





Grupa: Zarejestrowani
Postów: 479
Pomógł: 97
Dołączył: 6.09.2011
Skąd: php.net :)

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


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
Go to the top of the page
+Quote Post
trueblue
post
Post #6





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


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]

Go to the top of the page
+Quote Post
IProSoft
post
Post #7





Grupa: Zarejestrowani
Postów: 479
Pomógł: 97
Dołączył: 6.09.2011
Skąd: php.net :)

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


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

Dzięki.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 3.10.2025 - 11:26