.htaccess перенаправляет на замаскированные домены, записывается, чтобы вступить в силу только при использовании указанных c доменов - PullRequest
0 голосов
/ 31 января 2020

У меня установлен многосайтовый WordPress на сервере Apache. По причинам SEO я пытаюсь перенести как можно больше перенаправлений JS на HTTP 301 в файле .htaccess. Поскольку домены на этом мультисайте замаскированы, все эти домены совместно используют один каталог верхнего уровня и один файл .htaccess. Из-за этого я не могу сделать каждое перенаправление простым

Redirect 301 /example/ https://example.com/example/ 

Примером является то, что если у нас есть одна служба, которая закрывает местоположение в Остине, штат Техас, другая служба, которая все еще имеет одну открытую в Остине, штат Техас, и оба URL-адреса настроены как «example.com/austin/», у меня не может быть переадресации всеобъемлющей пересылки «/ austin /» в одно место. Это создает массу потенциальных конфликтов.


Поэтому я пытаюсь создать перенаправления, которые ТОЛЬКО вступают в силу, когда используется конкретный c замаскированный домен. Ниже приведен код, который я использую, но он не работает, обратите внимание, что я проверяю, как закрывающие, так и непоследующие слэши покрыты:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com [nc]
RewriteRule ^old1$ https://example.com/new1/ [R=301,NC,L]
RewriteRule ^old1/$ https://example.com/new1/ [R=301,NC,L]
RewriteRule ^old12$ https://example.com/new12/ [R=301,NC,L]
RewriteRule ^old12/$ https://example.com/new12/ [R=301,NC,L]
#...

Что происходит не так?

1 Ответ

0 голосов
/ 03 февраля 2020

Я понял это!

У меня там было правило принудительно использовать косые черты.

RewriteCond %{REQUEST_URI} /+[^\.]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]

Поскольку он был выше всех перенаправлений, он аннулировал их. Я перенес это правило под них, и оно исправило это.

...