2011-08-07 62 views
2

我一直在嘗試設置.htaccess來創建乾淨的PHP URL。我的目標是在文件夾CL中實現乾淨的URL。.htaccess和內部服務器錯誤

的.htaccess:

# Use PHP5 Single php.ini as default 
AddHandler application/x-httpd-php5s .php 

<IfModule mod_rewrite.c> 
    # This is the initialization 
    # For security reasons, Option followsymlinks cannot be overridden. 
    #Options +FollowSymLinks 
    Options +SymLinksIfOwnerMatch 
    RewriteEngine On 
    RewriteBase/

    # /CL/var1/var2/var3 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^CL/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/?$ /CL/index.php?var1=$1&var2=$2&var3=$3 [L,QSA] 

    # /CL/var1/var2 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^CL/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/?$ /CL/index.php?var1=$1&var2=$2 [L,QSA] 

    # /CL/var1 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^CL/([a-zA-Z0-9\-]+)/?$ /CL/index.php?var1=$1 [L,QSA] 
</IfModule> 

然而,出於某種原因,我當y進入該文件夾CL得到一個500內部服務器錯誤。過去我使用過類似的.htaccess配置,但現在由於某種原因,它不能正常工作。

任何想法?

+0

檢查你的Apache的錯誤日誌 - 它會給你提供詳細的錯誤信息,這可能足以解決問題。快速瀏覽你的.htaccess顯示沒有錯。 – LazyOne

+0

即時通訊試圖訪問我的服務器的錯誤日誌近2小時,我沒有運氣 - 我們是否找到它們? –

+0

它應該在訪問日誌所在的文件夾中。如果沒有 - 與您的託管公司聯繫。 – LazyOne

回答

0

「以前我使用過類似的.htaccess配置,但是現在由於某種原因,它不能正常工作。」

好吧,所以規則集的工作。我剛剛在我的一個測試虛擬機上測試過,所以它仍然可以工作,所以你的問題不是這個.htaccess文件中的mod_rewrite功能。那麼它在哪裏呢? 橫向思考。 500狀態通常是一個mod_rewrite循環。/CL中是否有.htaccess文件?這可能會創建一個perdir無限循環。

不幸的是,DS試圖從共享託管服務提供商那裏獲得關於error_log內容的解決方案的建議是$ 100 pa共享服務,這是一個不允許的問題。士氣:在你的PC上設置一個測試虛擬機來調試這個東西,你可以通過文章here獲得對日誌的root權限。