【问题标题】:Why am I getting a 500 internal error instead of 404?为什么我收到 500 内部错误而不是 404?
【发布时间】:2017-05-03 08:53:56
【问题描述】:

我基本上在我的 htaccess 文件中添加了一行 ErrorDocument 404 /404.php,这样我就可以将 404 重定向到 404.php 文件,但现在我的网站出现 500 内部服务器错误。下面是我的 htaccess 文件。怎么了?

AddHandler php-script .html .htm php_flag magic_quotes_gpc on
Options +FollowSymlinks

<IfModule mod_expires.c>
# Enable expirations
ExpiresActive On 
# Default directive
ExpiresDefault "access plus 1 month"
# My favicon
ExpiresByType image/x-icon "access plus 1 year"
# Images
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
# CSS
ExpiresByType text/css "access 1 month"
# Javascript
ExpiresByType application/javascript "access plus 1 year"
</IfModule>




<IfModule mod_rewrite.c>
RewriteEngine On
ErrorDocument 404 /404.php
RewriteCond %{HTTP_HOST} ^[^.]*\.[^.]*$
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Redirect 301 /classified/ad/  mysiteurl/free-stuff/
Redirect 301 /free-ads/  mysiteurl/free-stuff/
RewriteCond %{HTTP_HOST} !^www.mysite.com$ [NC]
RewriteRule ^(.*)$ mysiteurl/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^22\.233\.937\.216
RewriteRule (.*) mysiteurl/$1 [R=301,L]
RewriteCond %{HTTP_USER_AGENT} libwww-perl.* 
RewriteRule .* – [F,L]
</IfModule>



RewriteRule ([^/]+)-([^/]+)-([^/]+)-([^/]+)\.htm$ listing.php?subcatId=$4
RewriteRule ([^/]+)-([^/]+)-([^/]+)\.htm$ listing.php?subcatId1=$3
RewriteRule ([^/]+)-([^/]+)\.htm$ listing.php?catId=$2
RewriteRule ([^/]+).htm$ listing.php?country=$1
RewriteRule message/([^/]+)/ send-message.php?ad_id=$1
RewriteRule free-classified-ads/([^/]+)/([^/]+)/ classified-details.php?ad=$1
RewriteRule annonces/([^/]+)/([^/]+)/ details.php?ad=$1
RewriteRule anuncios/([^/]+)/([^/]+)/ details.php?ad=$1
RewriteRule anúncios/([^/]+)/([^/]+)/ details.php?ad=$1
RewriteRule annunci/([^/]+)/([^/]+)/ details.php?ad=$1
RewriteRule kleinanzeige/([^/]+)/([^/]+)/ details.php?ad=$1
RewriteRule annons/([^/]+)/([^/]+)/ details.php?ad=$1
RewriteRule μικρές-αγγελίες/([^/]+)/([^/]+)/ details.php?ad=$1
RewriteRule объявления/([^/]+)/([^/]+)/ details.php?ad=$1
RewriteRule реклама-Обяви/([^/]+)/([^/]+)/ details.php?ad=$1
RewriteRule reklama/([^/]+)/([^/]+)/ details.php?ad=$1
RewriteRule advertentie/([^/]+)/([^/]+)/ details.php?ad=$1
RewriteRule Հայտարար/([^/]+)/([^/]+)/ details.php?ad=$1
RewriteRule in/([^/]+)/([^/]+)/ details.php?ad=$1
RewriteRule seri/([^/]+)/([^/]+)/ details.php?ad=$1



AddDefaultCharset utf-8


# compress text, html, javascript, css, xml:
<IfModule mod_deflate.c>
  # Compress HTML, CSS, JavaScript, Text, XML and fonts
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE application/rss+xml
  AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
  AddOutputFilterByType DEFLATE application/x-font
  AddOutputFilterByType DEFLATE application/x-font-opentype
  AddOutputFilterByType DEFLATE application/x-font-otf
  AddOutputFilterByType DEFLATE application/x-font-truetype
  AddOutputFilterByType DEFLATE application/x-font-ttf
  AddOutputFilterByType DEFLATE application/x-javascript
  AddOutputFilterByType DEFLATE application/xhtml+xml
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE font/opentype
  AddOutputFilterByType DEFLATE font/otf
  AddOutputFilterByType DEFLATE font/ttf
  AddOutputFilterByType DEFLATE image/svg+xml
  AddOutputFilterByType DEFLATE image/x-icon
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE text/javascript
  AddOutputFilterByType DEFLATE text/plain
  AddOutputFilterByType DEFLATE text/xml

  # Remove browser bugs (only needed for really old browsers)
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
  Header append Vary User-Agent
</IfModule>

【问题讨论】:

    标签: apache .htaccess http-status-code-404 http-status-code-500


    【解决方案1】:

    因为您被重定向到 404.php 文件,我相信您会在该文件中而不是 .htaccess 中遇到错误。

    如果您发布 404.php 的内容,我可以为您提供更多帮助。

    【讨论】:

    • 不,你没有得到它。我没有重定向到 404.php,当我尝试访问我的网站时收到 500 错误。重定向到 404 甚至不起作用。
    • 无论 URL 是什么,您都会收到 500 错误吗? .htaccess 之前和之后的 URL 是什么样的?
    • 是的,不管是什么网址。只需尝试访问我的网站。
    • 我仍然需要知道 URL 前后的样子。
    • 我马上注意到这两行有错误:Redirect 301 /classified/ad/ mysiteurl/free-stuff/ Redirect 301 /free-ads/ mysiteurl/free-stuff/ 没有有效的 url "mysite"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-06
    • 2014-09-17
    • 1970-01-01
    • 2021-04-07
    • 1970-01-01
    • 1970-01-01
    • 2016-06-08
    相关资源
    最近更新 更多