2015-10-26 51 views
0

的子目錄文件這是我.htaccess代碼難以進入,因爲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] 

    RewriteCond %{REQUEST_URI} !^/images/ 

</IfModule> 

我的目錄結構:

Directory structure

我的問題是,我可以通過調用訪問我api.php /users/getData等。但如果我去images/someImage.jpg那麼它不允許。

回答

0

試試這個簡單的重寫規則

RewriteBase /your web directory 

RewriteEngine On

RewriteRule ^([a-zA-Z0-9_-]+)$ api.php?rquest=$1

RewriteRule ^([a-zA-Z0-9_-]+)/$ api.php?rquest=$1

下面是破解密碼

下來

RewriteEngine On

以下重寫規則將例如www.example.com/home重定向到example.com/api.php?rquest=$1

RewriteRule ^([a-zA-Z0-9_-]+)$ api.php?rquest=$1

和下面的意願例如將www.example/home /重定向到example.com/api.php?rquest=$1。注意/後/家

RewriteRule ^([a-zA-Z0-9_-]+)/$ api.php?rquest=$1 

上面的代碼行排除規則重定向到www.example.com/images/someimages.jpg www.example.com/

因此,這將爲其工作現在。

+0

RewriteRule ^([a-zA-Z0-9 _-] +)/ $ api.php?rquest = $ 1我也試過這個但仍然是它的nit允許子目錄文件 –

+0

也許我沒有得到這個問題在第一位。你能解釋一下嗎,我可以幫忙 –

+0

假設我把URl命名爲www.mydomain.com/login,那麼它會調用登錄方法api.php,如果www.mydomain.com/users它會在api.php中調用用戶方法我們做了「RewriteRule ^([a-zA-Z0-9 _-] +)/ $ api.php?rquest = $ 1」但是沒有,因爲這個規則,我不是通過訪問www.mydomain.com/images/some .JPG –