编辑.htaccess后404重定向问题

时间:2013-06-28 21:35:21

标签: .htaccess redirect http-status-code-404

不久前,当我摆弄我的.htaccess文件时,默认的404错误消息停止工作。现在,错误页面看起来像这样 http://www.minecraftserverland.com/s2/1

我的.htaccess文件是:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^s/(.*)$ /serverdisplay.php?server_id=$1
RewriteRule ^s2/(.*)$ /serverdisplay2.php?server_id=$1
RewriteRule ^u/(.*)$ /profile.php?username=$1
RewriteRule ^vote/(.*)$ /vote.php?server_id=$1
## EXPIRES CACHING ##

ExpiresActive On
ExpiresByType img/button.png "access plus 1 month"
ExpiresByType img/feeback.png "access plus 2 months"
ExpiresByType css/orbit-1.2.3.css "access plus 2 months"
ExpiresByType css/other.css "access plus 2 months"
ExpiresByType css/type/SourceSansPro-Regular-webfont.woff "access plus 2 months"
ExpiresByType img/Delete-icon.png "access plus 1 month"
ExpiresByType img/MinecraftServerLand2.png "access plus 10 days"
ExpiresByType img/ajax-loader.gif "access plus 2 months"
ExpiresByType img/background.png "access plus 1 month"
ExpiresByType img/banner/6b1ebf3c92.png "access plus 2 months"
ExpiresByType img/banner/962f857d10.png "access plus 2 months"
ExpiresByType img/banner/b26908a721.jpg "access plus 2 months"
ExpiresByType img/banner/c29f43e31f.jpg "access plus 2 months"
ExpiresByType img/banner/d68c807fde.jpg "access plus 2 months"
ExpiresByType js/jquery.validate.pack.js "access plus 1 month"
ExpiresByType js/jquery.placeholder.js "access plus 1 month"
ExpiresByType img/orbit/timer-black.png "access plus 1 month"
ExpiresByType js/jquery.contactable.js "access plus 1 month"

ExpiresDefault "access plus 2 days"

## EXPIRES CACHING ##

有谁知道造成这种情况的原因是什么?

我尝试使用

添加自定义重定向
ErrorDocument 404 /home/minecra/public_html/errorpage.php

但这没有做任何事。

1 个答案:

答案 0 :(得分:0)

您获得404的原因是您的服务器上不存在/serverdisplay2.php

ErrorDocument无效的原因是因为http://www.minecraftserverland.com/home/minecra/public_html/errorpage.php也不存在。 ErrorDocument documentation says

  

URL可以以本地Web路径的斜杠(/)开头(相对于DocumentRoot),也可以是客户端可以解析的完整URL。或者,可以提供消息以供浏览器显示。

这意味着如果它以/开头,则它假定它是相对于文档根目录的Web路径,而不是服务器的根目录。你可能想要的是:

ErrorDocument 404 /errorpage.php