2016-05-17 32 views
0

我已经在本地服务器中下载了opencart安装程序,以便将其用作测试并且我无法查看该站点。当我使用默认的htaccess文件时,浏览器返回500错误,当我删除htaccess文件时,seo链接不起作用。 (404)内部服务器错误 - Opencart

任何想法?

我的.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 
+0

你看过你的网络服务器错误日志吗?也许从那里开始?你正在运行哪个网络服务器和版本? – billynoah

回答

0

.htaccess文件一般都非常明智的语法,任何故障可以提高一个HTTP 500错误。错误可能与httpd升级后不支持的语法错误和/或指令有关。

我建议你逐步测试.htaccess的备份副本,并从空白文件开始添加一些部分,直到你的服务器产生错误。

当你有它时,考虑自然解决问题。

0

在OpenCart中调试500个服务器错误时要做的第一件事就是查看服务器的错误日志并找到确切的错误消息

如果没有任何,你可能需要在你的PHP配置调整使用error_reporting的display_errorslog_errors设置中明确启用它们。您也可以直接在主index.php文件中临时更改它们。

一旦你知道确切的错误信息,修复它是一个简单的过程。

我们已经介绍了一些最常见的OpenCart错误消息,在我们的博客文章中导致500个服务器错误:Server Errors and Blank Pages in OpenCart: Most Common Causes

我建议不要试图修复空白页面和500服务器错误,而不能查看错误日志。这些问题可能是由您的服务器配置和限制破坏OpenCart代码的几乎任何东西引起的,因此您确实需要知道您正在处理的是什么。

在您的特殊情况下,很可能是由于您的服务器配置禁止将特定规则放置在.htaccess文件中。