2011-08-03 64 views
0
RewriteEngine On 
RewriteRule ^([a-zA-Z0-9_-\s]+)/([a-zA-Z0-9_-\s]+)/([a-zA-Z0-9_-\s()]+)/?$ product.php?group=$1&salt=$2&name=$3 [L] 

它工作正常與我以前的託管,但是當我將我的託管更改爲1and1(Linux)它給我500內部服務器錯誤。 請幫助我怎麼回事? 謝謝500內部服務器錯誤與重寫規則php

回答

0

您是否確定您的新提供商已啓用mod_rewrite?它是使用mod_rewrite查看500個錯誤的最常見原因。

要進行快速測試只需更換您的完整.htaccess下列行(製作原始.htaccess第一的備份)

RewriteEngine on 
RewriteRule ^(.*)$ http://www.google.com [R] 

如果mod_rewrite啓用它會將您的所有要求谷歌重定向。

0

安裝國防部重寫正確的方法是使用<IfModule mod_rewrite.c>

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteRule ^([a-zA-Z0-9_-\s]+)/([a-zA-Z0-9_-\s]+)/([a-zA-Z0-9_-\s()]+)/?$ product.php?group=$1&salt=$2&name=$3 [L] 
</IfModule> 

這將確保國防部重寫,如果安裝了mod_rewrite只運行。這應該至少停止服務器錯誤。如果它不這意味着你的重寫規則出現語法錯誤。