簡體   English   中英

Amazon EC2 .htaccess 500內部錯誤

[英]Amazon EC2 .htaccess 500 internal error

我有一個帶有簡單PHP網站的Amazon EC2實例。 它在我的本地PHP服務器上運行正常,但是在AWS上查看時,出現500 Internal Server Error。 我認為htaccess文件有問題,但我無法弄清楚。

Options -Indexes
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI}  /([^/]+)/?$  [NC]
RewriteRule (.*)\.html  application/index.php?key=$1  [L]
RewriteRule ^$  application/index.php?key=index  [L]
RewriteRule ^([^\.]+)$ $1.html [NC,L]

當我注釋掉最后兩行時,我沒有收到錯誤,但是我仍然需要這個來訪問我的PHP代碼。

預先感謝您的寶貴時間。

我注意到了一些常見問題

  1. 確保在Apache配置中啟用了mod_rewrite。
#On ubuntu os you can try it like this 
sudo a2enmod rewrite
sudo service apache2 restart
  1. 檢查網站的主要Apache配置文件。 對於服務器上的主域,通常為:

Ubuntu和Debian:/etc/apache2/apache2.conf

CentOS 7:/etc/httpd/conf/httpd.conf

<Directory "/var/www/html">    
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
  1. 如果仍然遇到相同的問題,則刪除.htaccess文件並從命令中再次創建它,因為一段時間的文件字符編碼問題會導致此類問題。 例如,在您的Apache日志中,您可能會看到此類錯誤

/.htaccess:無效的命令“ \\ xef \\ xbb \\ xbf ##”,可能是拼寫錯誤或由服務器配置中未包含的模塊定義的

要解決此類字符編碼問題,請在刪除.htaccess文件后轉到您的根目錄,然后再次按以下方式創建此文件:

nano .htaccess
# or you can use any other editor like ## vi .htaccess

現在,將您的.htaccess文件代碼放入打開的文件中。

嘗試以下規則:

Options -Indexes
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/.]+)\.html$  application/index.php?key=$1 [L,QSA]

RewriteRule ^$  application/index.php?key=index [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^([^.]+?)/?$ $1.html [L]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM