简体   繁体   English

内部服务器错误-Opencart

[英]Internal Server Error - Opencart

I've downloaded an opencart installation in my local server in order to use it as a test and i'm not able to view the site. 我已经在本地服务器上下载了opencart安装,以便将其用作测试,但无法查看该站点。 When i use the default htaccess file the browser returns a 500 error and when i remove the htaccess file the seo - links do not work. 当我使用默认的htaccess文件时,浏览器返回500错误,而当我删除htaccess文件时,seo-链接不起作用。 (404) (404)

Any ideas? 有任何想法吗?

My .htaccess file 我的.htaccess文件

# 1.To use URL Alias you need to be running apache with mod_rewrite enabled.

# 2. In your opencart directory rename htaccess.txt to .htaccess.

# For any support issues please visit: http://www.opencart.com

Options +FollowSymlinks

# Prevent Directoy listing
Options -Indexes

# Turn on Expires and set default to 0
ExpiresActive On
ExpiresDefault A0

# Set up caching on media files for 5 weeks
<FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$">
ExpiresDefault A3024000
Header append Cache-Control "public"
</FilesMatch>

# Set up caching on media files for 5 weeks
<FilesMatch "\.(gif|jpg|jpeg|png|swf)$">
ExpiresDefault A3024000
Header append Cache-Control "public"
</FilesMatch>

# Set up 1 day caching on commonly updated files
<FilesMatch "\.(xml|txt|html|js|css)$">
ExpiresDefault A86400
Header append Cache-Control "proxy-revalidate"
</FilesMatch>

# Force no caching for dynamic files
<FilesMatch "\.(php|cgi|pl|htm)$">
ExpiresActive Off
Header set Cache-Control "private, no-cache, no-store, proxy-revalidate, no-transform"
Header set Pragma "no-cache"
</FilesMatch>


<IfModule mod_deflate.c>
    <filesMatch "\.(js|css|html|php)$">
        SetOutputFilter DEFLATE
    </filesMatch>
</IfModule>

# Prevent Direct Access to files
<FilesMatch "\.(tpl|ini|log)">
 Order deny,allow
 Deny from all
</FilesMatch>

# SEO URL Settings
RewriteEngine On
# If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/

RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteRule ^download/(.*) /index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

### Additional Settings that may need to be enabled for some servers
### Uncomment the commands by removing the # sign in front of it.
### If you get an "Internal Server Error 500" after enabling any of the following settings, restore the # as this means your host doesn't allow that.

# 1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it:
# php_flag register_globals off

# 2. If your cart has magic quotes enabled, This may work to disable it:
# php_flag magic_quotes_gpc Off

# 3. Set max upload file size. Most hosts will limit this and not allow it to be overridden but you can try
# php_value upload_max_filesize 999M

# 4. set max post size. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value post_max_size 999M

# 5. set max time script can take. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_execution_time 200

# 6. set max time for input to be recieved. Uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_input_time 200

# 7. disable open_basedir limitations
# php_admin_value open_basedir none

.htaccess files in general are very sensible to syntax, and any fault can raise up a http 500 error. 通常, .htaccess文件的语法非常敏感,任何错误都可能引发http 500错误。 Faults can be linked to syntax errors and/or directives which are not supported after httpd's upgrade. 错误可以链接到httpd升级后不支持的语法错误和/或指令。

I suggested you to test step by step by making a backup copy of your .htaccess and start with blank file adding some sections until your server raise up the error. 我建议您通过制作.htaccess的备份副本来逐步进行测试,并从空白文件开始添加一些部分,直到服务器出现错误为止。

When you have it, consider to resolve the problem by nature. 如果有,请考虑自然解决问题。

The first thing to do when debugging 500 Server Errors in OpenCart is to look into your server's error log and find the exact error message . 在OpenCart中调试500个服务器错误时,要做的第一件事是查看服务器的错误日志并找到确切的错误消息

If there aren't any, you may need to enable them explicitly by adjusting the error_reporting , display_errors and log_errors settings in your PHP configuration. 如果没有,则可能需要通过在PHP配置中调整error_reportingdisplay_errorslog_errors设置来显式启用它们。 You can also temporarily change them in your main index.php file directly. 您也可以直接在主index.php文件中临时更改它们。

Once you know the exact error message, fixing it is a simple process. 知道确切的错误消息后,对其进行修复是一个简单的过程。

We've covered some of the most common OpenCart error messages causing 500 Server Errors in our blog post: Server Errors and Blank Pages in OpenCart: Most Common Causes . 我们在博客文章中介绍了一些导致500个服务器错误的最常见的OpenCart错误消息: OpenCart中的服务器错误和空白页:最常见的原因

I'd recommend against trying to fix blank pages and 500 Server Errors without being able to look into the error log. 我建议不要尝试在无法查看错误日志的情况下修复空白页和500个服务器错误。 These issues can be caused by pretty much anything starting from your server configuration and restrictions to broken OpenCart code so you really need to know what you're dealing with. 这些问题可能是由从服务器配置以及受限的OpenCart代码的限制开始的几乎所有事情引起的,因此您确实需要知道要处理的内容。

In your particular case, it is most likely caused by your server configuration prohibiting specific rules from being placed in the .htaccess file. 在您的特定情况下,这很可能是由于您的服务器配置禁止将特定规则放置在.htaccess文件中引起的。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM