Autor Zpráva
Jirka Z.
Profil *
Ahoj,

měl bych otázečku. Jak přesměrovat všechny .pdf soubory, co nejsou ve složce files do složky files/$soubor a všechny .pdf co jsou ve složce files na ../download.php?file=$soubor.

Jde o to, že chci zavést tento systém stahování, ale už je tam spousta odkazů na soubory co jsou mimo.

Něco jsem stvořil (kód níže), ale tvoří to smyčku a funguje to jen u neexistujících souborů. Díky moc.

Ten kód z htaccess

Redirect 301 /files/ http://hledamekancelare.cz/download.php

RewriteEngine On
RewriteRule (.+\.pdf)$ /files/$1
Jozin
Profil
Zdravím

RewriteCond %{REQUEST_URI} !/files
RewriteRule (.+\.pdf)$ /files/$1 [L]

Toto by mělo fungovat, ale pozor, pokud bude adresa například http://domain.com/blob/a.pdf přesměrovaná adresa bude http://domain.com/files/blob/a.pdf, neřešil jsem to, protože si to nespecifikoval, zda je to (ne)očekávané chování, kdyžtak by mělo stačit upravit ten RewriteRule nějak takto:

RewriteRule (.*)(\/.+\.pdf)$ $1/files$2 [L]

EDIT: jen jsem to zběžně zkoušel a bohužel jsem se spletl, takto to bude fungovat jen tehdy, bude-li mezi domain.com a souborem pdf něco jako /blob/.

Jozin.

---
Plně upravená verze:
RewriteCond %{REQUEST_URI} !/files
RewriteRule (.*)(\/.+\.pdf)$ $1/files$2 [L]
RewriteRule (.+\.pdf)$ files/$1 [L]
Jirka Z.
Profil *
Zdravím,

nejprve děkuji za pomoc. Každopádně když tam dám plně upravenou verzi, tak pdf nepřesměruje. Když jsem k tomu zkusil dát RewriteEngine on, tak mi to u PDF souborů píše Internal Server Error.
Jozin
Profil
Můžete postnout celé htaccess?
Jirka Z.
Profil *
Nic jiného tam nemám, pouze toto

RewriteEngine On
RewriteCond %{REQUEST_URI} !/files
RewriteRule (.*)(\/.+\.pdf)$ $1/files$2 [L]
RewriteRule (.+\.pdf)$ files/$1 [L]
Kajman
Profil
RewriteEngine On
RewriteBase /
#presmerovani vsech pdf pozadavku do slozky files
RewriteCond %{REQUEST_URI} !/files
RewriteRule ^(.*/)?([^/]+\.pdf)$ files/$2 [L,NC,R,NE]
#prepsani existujicich souboru ve slozce files na stahovaci skript
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^files/(.*\.pdf)$ download.php?file=$1 [L,NC,QSA]
Jirka Z.
Profil *
Skvělé, děkuji mnohokrát.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: