2013-10-18 82 views
0

文件夾和文件結構htaccess的URL從目錄中刪除,並保持訪問父目錄

public_html/ 
      web/index.php 
      upload/img.jpg 

我需要mysite.com/web/index.php成爲mysite.com/index.php 這是我的htaccess

RewriteEngine On 
RewriteRule ^$ web/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ web/$1 

它適用於我。但我無法再訪問「upload/img.jpg」目錄。 我還可以訪問mysite.com/upload/img.jpg嗎?

預先感謝您的時間。

親切的問候。

+0

我不明白,第一重寫規則,但除了即:您可以簡單地爲上傳目錄執行一個「例外規則」,您可以將規則重寫請求放在/ web上。如果第一個例外規則匹配,則將[[L]]標誌添加到該規則,並且重新寫入/上傳的請求將停止。 – arkascha

回答

0

你可以試試這個規則來代替:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule !^(web|upload) web%{REQUEST_URI} [L,NC] 

如果請求的URI是/web//upload/

0

現在我可以回答我的問題這將跳過此規則。

這是在文件夾中的.htaccess /的public_html/

RewriteEngine On 
RewriteRule ^$ web/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ web/$1 

,這是在文件夾中的.htaccess /的public_html/WEB/

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^uploads/(.*) /uploads/$1 [PT]