2012-11-23 67 views
0

我有一個的.htaccess這樣一臺服務器上的500錯誤:問題與重寫規則,導致但是沒有其他

Options -MultiViews 
#Rewrite queries from google to the right files 
RewriteEngine On 

RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*)$ 
RewriteRule ^(.*) /fragments/%1.html 

我的服務器上(標準燈的Debian),它完美的作品。 只要我上傳到主機(1 & 1),我得到一個500錯誤,並根據自己的策略1沒有辦法檢查錯誤日誌。

技術支持花了2周的時間來回答我的支持請求,當他們確實指示我使用描述mod_rewrite的通用頁面時。

任何人都可以在重寫規則/條件中找到語法錯​​誤,並最終提供另一種方法來做什麼規則呢?

+0

在兩週內回答支持請求,我會讓我快速移動到別處!你無法看到自己的錯誤日誌的想法很荒謬。 – nickhar

+0

1&1。避開這些吸血鬼! – DLeonardi

回答

0

500錯誤表示服務器設置有問題(500 - 內部服務器錯誤)。

這是可能的:

1)您的服務器不支持.htaccess文件覆蓋主機設置

2)重寫模塊未啓用

3)重寫的語法在你的htaccess是不正確

據我可以看到你的代碼是正確的。所以可能它是1或2選項。

我建議:

1)包裝你重寫代碼如下(將檢查是否國防部重寫是)

<IfModule mod_rewrite.c> 
... 
</IfModule> 

2)從.htaccess刪除所有組件並嘗試空單(如果仍然是500 - 不允許覆蓋)

3)我在代碼中看不到DirectoryIndex your_index_file。你有沒有忽略它?

+0

這是一家專業的託管公司,他們確實支持mod_rewrite和其他.htaccess規則已成功應用。 – DLeonardi

+0

查看我的編輯以發表評論。我錯過了,我沒有在你的代碼中看到'DirectoryIndex'。 – AlexKey

+0

這個問題貌似謊言在於它不想重定向到/,而是它需要一個FQDN。我不得不添加?到規則的末尾去除正在傳遞的查詢參數。 – DLeonardi

0

使用下列內容:

Options -MultiViews 
#Rewrite queries from google to the right files 
RewriteEngine On 

RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*)$ 
RewriteRule ^(.*) http://mydomain.com/fragments%1.html? 

解決的問題。