2017-04-01 35 views
1

文件夾我有一個文件如何讓所有的文件從上傳訪問過的.htaccess設置

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

我寫其餘API爲移動開發者的根目錄,所以我已經成功創建API上市數量下面

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 
} 

現在的問題是什麼的用戶檔案圖片是店upload目錄即(ab.jpg,xyz.jpg)和I可使用http://example.com/uploads/abc.jpg

我弄清楚它由於.htaccess文件我已經放置在該文件內的根級別目錄,代碼是不能訪問它:

<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> 

我不知道我怎麼能允許上傳文件夾來訪問它公開使用的.htaccess

+1

它,因爲你是在重寫存在directries到/api.php。嘗試刪除#2 RewriteCond和規則。 – starkeen

+1

並用**! - f **替換**! - s **以避免重寫已存在的文件。 – starkeen

+0

謝謝@starkeen它的工作,這是我想要的 –

回答

1

希望這會工作。只需將此行添加到每個重定向。

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

沒有它現在的工作,當我用我的代碼圖像的URL代替你的代碼的作品,但API的URL不工作,當我把兩個都放在那裏不工作任何東西 –

+0

@AmanMaurya請改變索引.php在我的代碼到api.php –

+0

@AmanMaurya更新我的帖子,現在你可以再次檢查,是否讓我知道如果你有任何問題 –

相關問題