2017-04-01 2 views
1
Einstellung

I StammverzeichnisWie alle Datei zugänglich von Uploads ermöglichen Ordner durch .htaccess

- api.php 
- .htaccess 
- uploads/ 
- uploads/abc.jpg 
- uploads/xyz.jpg 

Ich schreibe Rest-API für die mobilen Entwickler mit Dateien haben, so habe ich erfolgreich Anzahl der API erstellt aufgelistet unter

api.php

function register(){ 
    //POST Method 
    //I can access this API with URL http://example.com/register 
} 

function login(){ 
    //POST Method 
    //I can access this API with URL http://example.com/login 
} 

function user(){ 
    //GET Method 
    //I can access this API with URL http://example.com/user 
} 

Jetzt ist das Problem, welches Bild Benutzerprofil ist Speicher im Upload-Verzeichnis dh (AB.jpg, xyz.jpg) und ich kann nicht darauf zugreifen mit http://example.com/uploads/abc.jpg

ich herausfinden, es ist aufgrund .htaccess-Datei, die ich in der Root-Ebene Verzeichnis abgelegt haben und den Code in dieser Datei ist:

<IfModule mod_rewrite.c> 
    RewriteEngine On 

    RewriteCond %{REQUEST_FILENAME} !-d 
     RewriteCond %{REQUEST_FILENAME} !-s 
    RewriteRule ^(.*)$ api.php?rquest=$1 [QSA,NC,L] 

    RewriteCond %{REQUEST_FILENAME} -d 
    RewriteRule ^(.*)$ api.php [QSA,NC,L] 

    RewriteCond %{REQUEST_FILENAME} -s 
    RewriteRule ^(.*)$ api.php [QSA,NC,L] 
</IfModule> 

ich weiß nicht, wie ich zulassen Uploads Ordner für den Zugriff öffentlich

+1

Sein, weil Sie Ihre vorhandenen direct neu schreiben /api.php. Versuchen Sie, # 2 RewriteCond und Regel zu entfernen. – starkeen

+1

Und ersetzen Sie **! - s ** mit **! - f **, um das Umschreiben vorhandener Dateien zu vermeiden. – starkeen

+0

Danke @starkeen es funktionierte das ist was ich will –

Antwort

1

Hoffnung .htaccess mit diesem arbeiten. Fügen Sie diese Zeile zu jeder Umleitung hinzu.

RewriteCond %{REQUEST_FILENAME} !\.(jpg|png)$

Check .htaccess here

<IfModule mod_rewrite.c> 
    RewriteEngine On 

    RewriteCond %{REQUEST_FILENAME} !\.(jpg|png)$ 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-s 
    RewriteRule ^(.*)$ api.php?rquest=$1 [QSA,NC,L] 

    RewriteCond %{REQUEST_FILENAME} !\.(jpg|png)$ 
    RewriteCond %{REQUEST_FILENAME} -d 
    RewriteRule ^(.*)$ api.php [QSA,NC,L] 

    RewriteCond %{REQUEST_FILENAME} !\.(jpg|png)$ 
    RewriteCond %{REQUEST_FILENAME} -s 
    RewriteRule ^(.*)$ api.php [QSA,NC,L] 
</IfModule> 
+0

Nein, es funktioniert jetzt, wenn ich Ihren Code mit meinem Code Bild URL ersetzen funktioniert aber API URL nicht funktioniert und wenn ich beide dann nicht funktioniert es keine Sache –

+0

@AmanMaurya Bitte Index ändern .php in meinem Code zu api.php –

+0

@AmanMaurya Aktualisiert meine Post jetzt können Sie noch einmal überprüfen lassen, lassen Sie mich wissen, wenn Sie irgendein Problem haben –

Verwandte Themen