Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pytanie o htaccess, Flaga -f
IProSoft
post 12.11.2015, 16:02:27
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 :-)


--------------------
Manual prawdę Ci powie.
Go to the top of the page
+Quote Post
Pyton_000
post 12.11.2015, 16:19:31
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 12.11.2015, 16:39:03
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ęść.


--------------------
Manual prawdę Ci powie.
Go to the top of the page
+Quote Post
trueblue
post 12.11.2015, 17:01:19
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 12.11.2015, 17:46:46
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


--------------------
Manual prawdę Ci powie.
Go to the top of the page
+Quote Post
trueblue
post 12.11.2015, 18:09:02
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 12.11.2015, 19:32:58
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.


--------------------
Manual prawdę Ci powie.
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 13:16