У меня сейчас проблема с моим файлом .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 всякий раз, когда они вводят неправильный URL, и, таким образом, независимо от того, есть расширение или нет.
Я совершенно новичок в файлах HTACCESS, поэтому у меня возникают проблемы, которые я не могу понять.
Также мой хост не разрешает доступ к журналам ошибок Apache на бесплатных тарифных планах, поэтому я не могу понять, где моя ошибка.
Я был бы очень признателен, если бы seomone мог мне помочь с этим.
Не стесняйтесь посетить мой сайт, чтобы понять, в чем заключается моя проблема: http://www.thehalcyon.tk/ (не обращайте внимания на то, что написано, хотя это французский сайт)
Заранее благодарю за помощь любого другого разработчика, готового помочь мне.
РЕДАКТИРОВАТЬ: я клонировал свой веб-сайт на сервере WAMP и проверил журнал ошибок.
Там написано слишком много переадресаций, вероятно, из-за правил украшения пути.
Когда я отключаю их и использую расширения файлов (.php), это работает.
Любой способ найти способ объединить две функции?