2016-06-09 78 views
0

我已經在我的基於Symfony2的網站(應該可以在mywebsite.com/piwik/index.php上訪問)的根目錄上安裝Piwik,並且我試圖配置我的.htaccess文件所以我可以繞過'GET /piwik/index.php'異常。基於Symfony2的網站中的.htaccess

問題是我配置.htaccess不夠好,因此我仍然得到上述異常。當然,我必須閱讀教程。這是我如何試圖配置我的.htaccess文件:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteRule ^piwik/ - [L] 
    RewriteBase/  
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ /app.php [QSA,L] 
</IfModule> 

有什麼建議嗎?提前致謝。

回答

1

Symfony的船舶在此web/.htaccess重寫規則作爲默認:

# If the requested filename exists, simply serve it. 
# We only want to let Apache serve files and not directories. 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule .? - [L] 

所以,你應該能夠在web/目錄中刪除piwik/目錄(因此,index.php爲[SymfonyAppRoot]/web/piwik/index.php)和訪問頁面。

通過這樣做,您可以在Symfony有機會阻止之前讓Apache服務/piwik/index.php

+0

非常感謝,@HPierce!它工作得很好,你已經度過了我的一天! –

+0

我來找出app.php不再被到達,因此我每次請求任何資源時都會遇到以下異常:「在此服務器上找不到請求的URL/mywebsite/web/diapers。 此外,嘗試使用ErrorDocument處理請求時遇到404未找到錯誤。「 –

+0

@PatrickBass,這很奇怪。我在這裏強調的重寫規則不會改變這種行爲。除了您在這裏發佈的內容之外無任何更多的信息,我懷疑您可能無意中更改了.htaccess中的其他默認值之一。我建議你找一個與Symfony一起發佈的默認.htaccess的新副本,看看會發生什麼。 – HPierce