Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: .htaccess linki do plików nie działają
Forum PHP.pl > Forum > PHP
aleks365
Witam mam taki kod
  1. # Setting
  2. Options FollowSymLinks
  3. RewriteEngine On
  4.  
  5. # Download - Open
  6. RewriteRule ^file/([a-zA-Z-_0-9]+)/([a-zA-Z-_0-9]+)/?$ downloads.php?file=$1 [L]

Dotyczy on downloadu adres pliku jest np taki
  1. www.domena.pl/file/4664/plik-jakis-tam

i wszystko działa ale jak mam obrazek do pliku to adres jest inny powinień być taki
  1. www.domena.pl/download/image/4664.jpg

a jest taki
  1. www.domena.pl/file/4664/plik-jakis-tam/download/image/4664.jpg


To samo jest z plikami rar, zip, itd

to jak to zrobić co mam wpisać w plik .htaccess bo już sam nie wiem przeszukałem internet i nic nie znalazłem

PS z grafiką, js, css już sobie poradziłem i chodzi
maniana
Do katalogu image dorzuć plik .htacces z formułką
Cytat
RewriteEngine off
i zmodyfikuj istniejący .hataccess dodając:
Cytat
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Serwer powinien zacząć podawać istniejące pod danym URL zasoby.
aleks365
Nic mi to nie dało, jest tak samo jak było
maniana
Oppss... Sorry, nie załapałem problemu, wyrażenie regularne które podałeś (część dla nazwy pliku) nie przepuszcza kropek. Dodaj kropkę przed podłogą ew. dodaj jeszcze przed nią backslash bo to jest znak sterujący. I powinno być git smile.gif
aleks365
Też nic kombinuję na masę sposobów i ciągle to same sad.gif
Co robić ?

Używałem tego
Regułka mod rewrite blokująca pliki z roszerzeniem .tpl oraz .tpl.php.
  1. RewriteCond %{REQUEST_URI} \.(tpl|tpl.php)$


Przekieruj wszystkie odwołania do zmiennej a, poza plikami z rozszerzeniami podanymi w nawiasie.
  1. RewriteRule !\.(js|ico|gif|jpg|png|css)$ - [L]
  2. RewriteRule (.*) downloads.php?file=$1


To są dwa z setki wielu sposobów co robiłem to co poradzić na to questionmark.gif
maniana
Chodziło raczej o to:
Cytat
RewriteRule ^file/([a-zA-Z-_0-9]+)/([a-zA-Z-._0-9]+)/?$ downloads.php?file=$1 [L]
aleks365
Przed podłogom miałem dodać to \. zrobiłem tak i mam teraz
  1. RewriteRule ^file,([a-zA-Z-\._0-9]+)/([a-zA-Z-\._0-9]+)/?$ downloads.php?file=$1 [L]

jedynie co dało to że adres teraz wygląda tak
  1. www.domena.pl/file/4664/download/image/4664.jpg

Tak jak by jeden katalog w tył ale jeszcze jest przed tym file/4664/ jeszcze dwa katalogi
maniana
Więc htaccess powinien wyglądać tak:
Cytat
Options FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^file/([0-9]+)/([a-zA-Z-._0-9]+)/?$ downloads.php?file=$1 [L]
Kropka potrzebna jest tylko w drugim nawiasie. Zależności wyglądają tak:
Cytat
^
file/ => file/
([0-9]+)/ => 4664/
([a-zA-Z-._0-9]+) => plik-jakis-tam.png
/?$
aleks365
Zrobiłem tak i też nic zobacz sam podam ci link do strony mojej
Kod
http://lfs-driver.pl/file/168/lfs_s2_keygen_06b

To przykładowy plik z mojej strony i wg nie czyta ścieżki prawidłowej do plików graficznych ani do rar zip itp i nie da się wejść w żadną zakładkę
Zobacz sam to ocenisz sytuacje
maniana
Po pierwsze, linki muszą zaczynać się od / teraz kontynuują podaną ścieżkę czyli /file/168/ (w href i w src) Podany przykład działa na 100% o ile masz downloads.php w katalogu głównym.
aleks365
Wielkie dzięki już wszystko działa yahoo.gif
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.