Как мне отменить эффект постоянного перенаправления 301 и заставить домен снова указывать на исходный субдомен? - PullRequest
0 голосов
/ 17 июня 2020

Я допустил серьезную ошибку и не могу ее исправить!

Клиент внезапно захотел открыть веб-сайт (который был приостановлен) для go онлайн как можно скорее. Проблема решается легко, я просто удаляю перенаправление в cPanel. Или так я подумал ... Потом я увидел, что перенаправление для этого конкретного сайта было постоянным перенаправлением 301 на общий сайт c 404 в другом домене. Примечание. У нас есть реселлерское решение, и мы размещаем несколько сайтов в качестве поддоменов в одной и той же cPanel.

Я удалил перенаправление в cPanel, но сайт по-прежнему перенаправляется на другой домен. Я ждал и час, затем 2 - но безуспешно.

Перенаправляется только основной URL: customersite.dk -> developer-dd.dk/404

Подстраницы работать нормально: customersite.dk / subpage /

Тогда я не мог больше ждать, и я создал новое перенаправление 302 в cPanel, перенаправив customersite.dk на customersite.dk / fakefrontpage / Это работает, поскольку использует тот факт, что подстраницы работают нормально, но я рассматриваю это как временный обходной путь, пока я не исправлю реальную проблему.

Проблема, которая, как я думаю / надеюсь, связана с этим, заключается в том, что отладчик совместного использования facebook не может получить сайт. Таким образом, клиент не может поделиться сайтом в социальных сетях с изображениями, заголовком и метатекстом.

Что мне делать? Как мне отменить действие 301 редиректа, действовавшего несколько месяцев? Если это действительно проблема? Есть ли у него SEO-разветвления?

Я вставляю сюда файл .htaccess: (Я заменил реальный URL на сайт клиента )

# BEGIN LSCACHE
# END LSCACHE
# BEGIN NON_LSCACHE
# END NON_LSCACHE
#This Apache config file was created by Duplicator Installer on 2020-03-11 15:31:23.
#The original can be found in archived file with the name .htaccess__[HASH]
# BEGIN WordPress
# The directives (lines) between `BEGIN WordPress` and `END WordPress` are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
# BEGIN ShortPixelWebp
# The directives (lines) between `BEGIN ShortPixelWebp` and `END ShortPixelWebp` are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
  RewriteEngine On
  ##### TRY FIRST the file appended with .webp (ex. test.jpg.webp) #####
  # Does browser explicitly support webp?
  # OR Is request from Page Speed
  # OR does this browser explicitly support webp
  # AND NOT MS EDGE 42/17 - doesnt work.
  # AND is the request a jpg or png?
  # AND does a .ext.webp image exist?
  # THEN send the webp image and set the env var webp
  RewriteCond %{HTTP_USER_AGENT} Chrome [OR]
  RewriteCond %{HTTP_USER_AGENT} "Google Page Speed Insights" [OR]
  RewriteCond %{HTTP_ACCEPT} image/webp
  RewriteCond %{HTTP_USER_AGENT} !Edge/17
  RewriteCond %{REQUEST_URI} ^(.+)\.(?:jpe?g|png)$
  RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI}.webp -f
  RewriteRule ^(.+)$ $1.webp [NC,T=image/webp,E=webp,L]
  ##### IF NOT, try the file with replaced extension (test.webp) #####
  # AND is the request a jpg or png? (also grab the basepath %1 to match in the next rule)
  # AND does a .ext.webp image exist?
  # THEN send the webp image and set the env var webp
  RewriteCond %{HTTP_USER_AGENT} Chrome [OR]
  RewriteCond %{HTTP_USER_AGENT} "Google Page Speed Insights" [OR]
  RewriteCond %{HTTP_ACCEPT} image/webp
  RewriteCond %{HTTP_USER_AGENT} !Edge/17
  RewriteCond %{REQUEST_URI} ^(.+)\.(?:jpe?g|png)$
  RewriteCond %{DOCUMENT_ROOT}/%1.webp -f
  RewriteRule (.+)\.(?:jpe?g|png)$ $1.webp [NC,T=image/webp,E=webp,L]
</IfModule>
<IfModule mod_headers.c>
  # If REDIRECT_webp env var exists, append Accept to the Vary header
  Header append Vary Accept env=REDIRECT_webp
</IfModule>
<IfModule mod_mime.c>
  AddType image/webp .webp
</IfModule>

# END ShortPixelWebp
# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php70” package as the default “PHP” programming language.
<IfModule mime_module>
  AddHandler application/x-httpd-ea-php70 .php .php7 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit
RewriteCond %{HTTP_HOST} ^customersite\.dk$ [OR]
RewriteCond %{HTTP_HOST} ^www\.customersite\.dk$
RewriteRule ^/?$ "https\:\/\/customersite\.dk\/fakefrontpage\/" [R=302,L]

1 Ответ

1 голос
/ 21 июня 2020

Вы всегда должны тестировать с редиректом 302. Никогда не тестируйте с 301 редиректом на рабочем сервере. Нет другого пути, кроме очистки кеша. Помните об этом, играя с правилами перенаправления.

Предупреждение: если вы действительно используете 301 редирект и многие пользователи посещают ваш сайт. Вы должны вежливо попросить их очистить кеш на странице, на которой происходит перенаправление.

Кредиты на Удалить 301 редирект с предыдущего веб-сайта и на @ FluffyKitten

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...