2012-03-14 52 views
2

我想在XAMPP上運行腳本,但得到「互聯網服務器錯誤500」。在活動服務器上運行時很好。我認爲這是一個.htaccess錯誤。 htaccess的代碼如下:htaccess - XAMPP上的互聯網服務器錯誤500

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule ^$ public/ [L] 
    RewriteRule (.*) public/$1 [L] 
</IfModule> 

我已經通過取消註釋行啓用htaccess的:

LoadModule rewrite_module modules/mod_rewrite.so

在配置文件中

任何想法?

+1

是什麼在你的錯誤日誌? – Fabian 2012-03-14 12:24:05

+2

極有可能(我對此表示肯定)你有無限的重寫循環(查看錯誤日誌中的細節 - 它會告訴你確切的原因)。您的第二條重寫規則將一遍又一遍地重寫 - 您需要添加一些條件以防止進一步重寫(不重寫已重寫的URL),例如, 'RewriteCond%{REQUEST_URI}!^/public /' – LazyOne 2012-03-14 12:26:20

+1

錯誤日誌狀態:[Wed Mar 14 11:56:18 2012] [alert] [client :: 1] C:/ xampp/htdocs/widgets/mobile/mvc /framework/.htaccess:RewriteEngine不允許在這裏 – LeeTee 2012-03-14 12:39:03

回答

1

嘗試在你的httpd.conf 編輯這部分並設置AllowOverride All

# 
# AllowOverride controls what directives may be placed in .htaccess files. 
# It can be "All", "None", or any combination of the keywords: 
# Options FileInfo AuthConfig Limit 
# 
AllowOverride All 

或者試試這個:

<Directory /> 
    AllowOverride All 
</Directory> 
+0

AllowOverride All已經在配置文件中設置,我重新啓動apache,沒有喜悅。 – LeeTee 2012-03-14 13:21:03

+0

已將hta​​ccess更改爲包含上述文件並仍然不起作用。我有沒有正確添加呢? RewriteEngine敘述上 重寫規則^ $公共/ [L] 重寫規則(。*)公共/ $ 1 [L] \t的RewriteCond%{REQUEST_URI}!^ /公/ 的AllowOverride所有 感謝 – LeeTee 2012-03-14 13:21:35

+0

@LeeTee請檢查RewriteCond指令手冊:該行應該去**第二重寫規則前行。請再次檢查錯誤日誌(如果這次有不同的錯誤)。 – LazyOne 2012-03-14 13:23:59