2014-08-27 55 views
1

我在本地使用MAMP建立了一個網站,現在我已經把它放到了一個活的服務器上。現在,每次我轉到其中一個格式化的URL時,它都會返回錯誤500,但是當訪問它們原始格式的鏈接時,它們會工作。HTACCESS error 500 from dev to live

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -d [OR] 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule^- [L] 
RewriteRule ^(.*)$ $1.php 

RewriteRule ^api/clients/company/([^/]+)?$ api/clients/company.php?id=$1 [L] 
RewriteRule ^api/clients/([^/]+)/?$ api/clients/index.php?id=$1 [L] 

現在,當我訪問http://domain.com/api/clients/company/all返回500錯誤,但是當我查看http://domain.com/api/clients/company.php?id=all內容顯示預期。

回答

1

您的規則RewriteRule ^(.*)$ $1.php匹配所有內容。
把你的最後兩條規則之前它。

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} -d [OR] 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule^- [L] 

RewriteRule ^api/clients/company/([^/]+)?$ /api/clients/company.php?id=$1 [L] 
RewriteRule ^api/clients/([^/]+)/?$ /api/clients/index.php?id=$1 [L] 

RewriteRule ^(.*)$ /$1.php [L] 
+0

你好!是一個保護者! – ngplayground 2014-08-27 15:57:58

+0

@Donald不​​客氣。如果有幫助,不要忘記驗證我的答案 – 2014-08-27 16:06:11