2015-01-08 80 views
-1

添加.htaccess時出現問題。它不適用於htaccess文件。當我從PHP 5.2.x升級到5.6.X時,我收到錯誤500在舊版本中完美運行。添加.htaccess時服務器錯誤500

注意:我的httpd.conf(LoadModule rewrite_module modules/mod_rewrite.so) - 仍然是同樣的問題,我在.htaccess中編寫的任何代碼都面臨同樣的錯誤。

一些人認爲用配置來解決它。

下面我.htaccess文件代碼:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 
+0

_'It does not work'_ is not a enough problem description。 –

+0

「不起作用」意味着**服務器錯誤!** 服務器遇到內部錯誤,無法完成您的請求。服務器超載或CGI腳本中有錯誤。 如果您認爲這是服務器錯誤,請與網站管理員聯繫。 **錯誤500 ** localhost Apache/2.4.10(Win32)OpenSSL/1.0.1i PHP/5.6.3 –

回答

1

你的條件說,如果它不是一個文件,那麼您的規則說,不管它是什麼是一個PHP文件?

RewriteRule ^([^\.]+)$ $1.php [NC,L] 
         ^

這是無效的,並導致您得到的錯誤。如果有東西不是文件,它怎麼可能是一個PHP文件?它只是不存在。

在這種情況下,您必須將其指向現有文件。類似於

RewriteRule ^([^\.]+)$ index.php?file=$1 [NC,L]