2011-08-16 40 views
0

註釋掉谷歌重定向工作,但規則的休息不工作在所有。的1and1 htaccess的錯誤

它會自動給我一個500內部服務器錯誤。這隻發生在1and1服務器上。

RewriteEngine On 
Options FollowSymLinks 

# RewriteRule ^(.*)$ http://www.google.com/$1 [r=301,nc] 

RewriteRule ^(ajax)/([a-zA-Z0-9-z\-]+)$ http://mysite.com/index.php?ajax=$2 [r=301,nc] 

RewriteRule ^([a-zA-Z0-9-z\-]+)/([a-zA-Z0-9-z\-]+)$ http://mysite.com/index.php?page=$1&subPage=$2 
RewriteRule ^([a-zA-Z0-9-z\-]+)/([a-zA-Z0-9-z\-]+)/$ http://mysite.com/index.php?page=$1&subPage=$2 

RewriteRule ^repairs/([a-zA-Z0-9-z\-]+)/([a-zA-Z0-9-z\-]*)$ http://mysite.com/repairs-engine.php?page=repairs&subPage=$1&pitem=$2 

RewriteRule ^([a-zA-Z0-9-z\-]+)$ http://mysite.com/index.php?page=$1 
RewriteRule ^([a-zA-Z0-9-z\-]+)/$ http://mysite.com/index.php?page=$1 

有什麼想法?

謝謝

+0

的的1and1很失望服務 –

回答

0

您是否試過不逃避char類塊中的最後一個短劃線?

這樣的:

^([A-ZA-Z0-9 - ] +)$

+0

你的意思是不是包括所有的大寫和小寫ASCII字母,數字0到9和破折號,也許下劃線將方便太像這樣: –

+0

^([一-ZA-Z0-9 _-] +)$ –

+0

這種固定的500錯誤,但現在它的DNS找不到頁面重定向到康卡斯特?貓= DNSR和反面= DS&URL = HTTP – asdfasdf

1
  1. 對於確切的錯誤說明你應該檢查Apache的錯誤日誌。

  2. 什麼這個模式應該是指[a-zA-Z0-9-z\-]?這絕對是錯誤的。它應該是[a-zA-Z0-9\-] - 我敢肯定,這是對錯誤的原因

注:

  1. 如果使用[NC]標誌,則沒有必要有a-zA-Z - 只是a-z就足夠了。

  2. 如果重寫(內部重定向,當瀏覽器的地址欄中的URL發生變化)並且沒有正確的重定向(301,302等),則不需要使用完整的域名。

  3. 在任何情況下,我建議增加[L]標誌,所有的規則 - 它將被點點加快處理速度。