![](/img/trans.png)
[英]Getting 500 Internal Server Error when using .htaccess file to remove PHP extension
[英]500 Internal Server Error when using .htaccess for PHP Settings
當我使用.htaccess
進行以下PHP設置時,訪問網站時出現500 Internal Server Error
。
.htaccess
文件中的代碼:
php_flag display_errors off
php_flag log_errors on
.htaccess
文件的文件權限是644
我知道上面的代碼是正確的。 但當它向我顯示500 Internal Server Error
,我嘗試了不同的代碼(最可能是錯誤的),但沒有任何效果。 嘗試的不同代碼是:
php_value display_errors off
php_value log_errors on
和
php_value display_errors 0
php_value log_errors 1
500 Internal Server Error
的原因是什么?
從這個問題的評論中學習后,我發現.htaccess
上的PHP設置不適用於FastCGI。 所以,要更改PHP設置,我需要修改php.ini
或者我需要在php代碼中進行修改。 有沒有其他方法,當我無權修改php.ini
文件而我不想單獨修改所有PHP文件?
就像上面的評論所說:你需要運行你的php模塊作為動態共享對象才能使它工作,如Apache PHP請求Hanlding文檔中所述
DSO注意事項:
libphp提供Apache指令,如php_ $ value和php_admin_ $ value。 DSO是這些指令在.htaccess文件或httpd.conf中有效的唯一選項 。 當使用並發DSO補丁編譯這些指令時,它們應該被命名為php4_ $ value和php5_ $ value。
cgi,fcgi,suphp它不起作用。
正如您所發現的那樣,修改.htaccess
只適用於apache模塊,它將添加到apache可以理解的指令中。 這不適用於cgi和其他人。
php方式是修改整個站點的php.ini,或者在每個目錄或每個用戶的基礎上修改它。
對於php5.5(不確定其他版本)修改.user.ini
文件,在該文件中,您希望應用這些設置的目錄。 顯然,在站點的根目錄中設置它將使其適用於整個站點。
有關.user.ini的信息,請訪問此處: http ://php.net/manual/en/configuration.file.per-user.php
到這里查看指令列表以及可以更改的位置: http : //php.net/manual/en/ini.list.php
最后,要檢查您的文件(可能在評論中提到),添加一個phpinfo.php(名稱無關緊要)文件包含
<?php phpinfo() ?>
到目錄,這樣你就可以看到在該目錄中運行的php腳本的設置。
我知道問題已經有一段時間了,但是如果你的.htaccess不包含錯誤,可能是導致你頭疼的評論。
我最近升級了WHM,突然間我在某些頁面上遇到了500個內部服務器錯誤。 在瀏覽完日志之后,我可以看到.htaccess文件是問題,我解決了問題,因為它們是由評論引起的。
這就是為我解決問題的原因。
以前,我在.htaccess文件中有如下命令:
Order Deny,Allow
Deny from 52.87.112.125 # whattheme.com
Deny from 192.163.217.239 # scanwp.net
WHM升級后我開始收到500內部服務器錯誤(可能是apache包含在升級中)。
突然,阿帕奇不喜歡指令中間的評論。 我修改了上面代碼的.htaccess文件,如下所示:
Order Deny,Allow
# whattheme.com
Deny from 52.87.112.125
# scanwp.net
Deny from 192.163.217.239
問題解決了。
這可能不是你的問題,但經過狩獵,這個解決方案對我有用。 祝好運。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.