2013-07-18 205 views
0

我有一個Symfony 2項目,我不得不使用.htaccess配置來隱藏前面的文件和網頁目錄,但在這個過程中,這意味着我無法訪問公共上傳我創建的文件夾。有沒有辦法可以爲該路線創建符號鏈接或例外?.htaccess打破文件路徑上傳

這裏是我當前的.htaccess

<IfModule mod_rewrite.c> 
    Options +FollowSymlinks 
    RewriteEngine On 

    # Explicitly disable rewriting for front controllers 
    RewriteRule ^/web/app_dev.php - [L] 
    RewriteRule ^/web/app.php - [L] 

    # Fix the bundles folder 
    RewriteRule ^bundles/(.*)$ /web/bundles/$1 [QSA,L] 

    RewriteCond %{REQUEST_FILENAME} !-f 
    # Change below before deploying to production 
    RewriteRule ^(.*)$ /web/app.php [QSA,L] 
    #RewriteRule ^(.*)$ /web/app_dev.php [QSA,L] 
</IfModule> 

提前感謝!

+0

爲什麼不把DocumentRoot指向web目錄? –

回答

1

您可以添加一個例外,以不重寫某個文件夾,就像禁用前端控制器重寫一樣。只需添加RewriteRule ^path-to-folder/.* - [L]即可使用,並且可以訪問路徑至文件夾中的文件。

+0

非常完美,非常感謝! –

0

您可以創建一個例外,就像你已經做了:

#disable redirecting for all the files in /web/upload dir 
RewriteRule ^web/upload/.* - [L] 

將這個進入的.htaccess的開始,重定向發生前,將停止處理。有一件事,我不明白,爲什麼在開始時會有額外的斜線:^/web。因爲在.htaccess條件中應該省略第一個斜槓。