Перенаправление на страницу 404 для ПЛОХИХ / ПОДДЕЛЬНЫХ страниц не работает

#php #.htaccess #web #redirect #url-redirection

#php #.htaccess #веб #перенаправление #url-перенаправление

Вопрос:

* Примечание — Сайт перенаправляет на https для SSL-сертификата

Хорошо, это на живом сайте, поэтому я смогу дать ссылки для тестирования.

Так что, если вы зайдете на мой сайт https://thebigmmorpglist.com и поместите случайную поддельную страницу, такую как https://thebigmmorpglist.com/nosuchpage.php он сохранит URL-адрес следующим образом https://thebigmmorpglist.com/nosuchpage.php но у вас есть внешний вид домашней страницы с испорченной таблицей стилей. Также скажите, что вы переходите на https://thebigmmorpglist.com/12-sky-2/nosuchpage.php он также покажет домашнюю страницу, сохраняя URL-адрес следующим образом: https://thebigmmorpglist.com/12-sky-2/nosuchpage.php но у вас ВООБЩЕ НЕТ ТАБЛИЦЫ СТИЛЕЙ (вероятно, потому, что она находится в другом каталоге. Я так запутался в том, как это исправить, я считаю, что у меня есть правильные перенаправления в моем файле .htaccess.

(Извините, если я формулирую / описываю что-то не так)

Я уже пытался изменить расположение моей страницы с ошибкой и изменить порядок / расположение моего кода перенаправления. Я в полной растерянности относительно того, как я могу это исправить, и я не могу найти в Stack Overflow ничего, что повторяет мою проблему.

 ErrorDocument 403 /error.php
ErrorDocument 404 /error.php
ErrorDocument 500 /error.php

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/.well-known/acme-challenge/[0-9a-zA-Z_-] $
RewriteCond %{REQUEST_URI} !^/.well-known/cpanel-dcv/[0-9a-zA-Z_-] $
RewriteCond %{REQUEST_URI} !^/.well-known/pki-validation/[A-F0-9]{32}.txt(?: Comodo DCV)?$
RewriteRule . /index.php [L]
</IfModule>

<FilesMatch ".(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header set Cache-Control "max-age=290304000, public"
</FilesMatch>

RewriteEngine On
RewriteCond %{HTTP_HOST} thebigmmorpglist.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} !^/.well-known/acme-challenge/[0-9a-zA-Z_-] $
RewriteCond %{REQUEST_URI} !^/.well-known/cpanel-dcv/[0-9a-zA-Z_-] $
RewriteCond %{REQUEST_URI} !^/.well-known/pki-validation/[A-F0-9]{32}.txt(?: Comodo DCV)?$
RewriteRule ^(.*)$ https://thebigmmorpglist.com/$1 [R,L]
 

Я надеюсь, что поддельная страница будет перенаправлена на error.php это находится в моем корневом каталоге…

Ответ №1:

Я был глуп и обманул перенаправление на https из-за того, что мой сайт больше не является сайтом WordPress…

Пришлось удалить этот код

 <IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/.well-known/acme-challenge/[0-9a-zA-Z_-] $
RewriteCond %{REQUEST_URI} !^/.well-known/cpanel-dcv/[0-9a-zA-Z_-] $
RewriteCond %{REQUEST_URI} !^/.well-known/pki-validation/[A-F0-9]{32}.txt(?: Comodo DCV)?$
RewriteRule . /index.php [L]
</IfModule>
 

Исправлен / Рабочий код:

 ErrorDocument 403 /error.php
ErrorDocument 404 /error.php
ErrorDocument 500 /error.php

<FilesMatch ".(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header set Cache-Control "max-age=290304000, public"
</FilesMatch>

RewriteEngine On
RewriteCond %{HTTP_HOST} thebigmmorpglist.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} !^/.well-known/acme-challenge/[0-9a-zA-Z_-] $
RewriteCond %{REQUEST_URI} !^/.well-known/cpanel-dcv/[0-9a-zA-Z_-] $
RewriteCond %{REQUEST_URI} !^/.well-known/pki-validation/[A-F0-9]{32}.txt(?: Comodo DCV)?$
RewriteRule ^(.*)$ https://thebigmmorpglist.com/$1 [R,L]