我目前的.htaccess文件存在问题。
我已经设置了一些ErrorDocument
并且为了让我自己的文件显示何时发生错误但是我遇到了404的问题。
我很确定我的.htaccess文件已损坏,因为我已经放了一些我并不总是理解的随机内容(即使我仍然明白他们做了什么)。
这是代码:
# Allow Rewrite
RewriteEngine On
# Rewrite base
RewriteCond %{HTTP_HOST} ^thehalcyon.tk [NC]
RewriteRule ^(.*)$ http://www.thehalcyon.tk/?$1 [L,R=301,NC]
# Resource access
RewriteRule ^(design|js|images)($|/) - [L]
# Rewrite profile path
RewriteRule ^users/([0-9]+)/$ /user.php?p=$1
# Redirect quick URLs to subdomains
RewriteRule ^(brg|brogaming|gaming)/?$ http://brg.thehalcyon.tk/ [R=301,L,NC]
RewriteRule ^(pxlr|pixelated|pixelatedreality|pixelrel|dev)/?$ http://pxlr.thehalcyon.tk/ [R=301,L,NC]
RewriteRule ^(prod|halprod|halcyonprod|av)/?$ http://prod.thehalcyon.tk/ [R=301,L,NC]
# Path beautifying
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ /$1.php
RewriteRule ^([^/]+)/([^/]+)/?$ /$1/$2.php
# 404 redirect if !exists (I have removed this part for the moment)
RewriteCond %{THE_REQUEST} \.php [NC]
RewriteRule ^(?!404\.*)$ - [L,NC,R=404]
# Error Documents Redirect
ErrorDocument 404 http://www.thehalcyon.tk/notFound.php
ErrorDocument 403 http://www.thehalcyon.tk/forbidden.php
ErrorDocument 401 http://www.thehalcyon.tk/unauthorized.php
# Options
Options All +FollowSymLinks
Options All -Indexes
因此,当我尝试访问不存在的文件时,我收到错误500而不是错误404以及以下消息:
Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.
有时它只是将我重定向到我的托管服务提供商主页,这真的很奇怪。
我想要的是,每当他们输入错误的网址时,都会将浏览器重定向到我的404文件,因此无论是否有扩展名。
我对HTACCESS文件很新,所以我遇到了一些我无法理解的问题。 此外,我的主机不允许在免费托管计划上访问apache错误日志,所以我无法理解我的错误在哪里。
如果seomone可以帮助我,我真的很感激。 请随意访问我的网站,以了解我的问题:http://www.thehalcyon.tk/(不要注意所写的内容,但这是法国网站)
提前感谢任何愿意帮助我的开发者。
编辑:我在WAMP服务器上克隆了我的网站并检查了错误日志。 它说太多重定向,可能是由于Path Beautifying规则。 当我禁用它们并使用文件扩展名(.php)时,它可以工作。 有没有办法找到结合这两个特征的方法?