У меня есть установка Wordpress на сервере с двумя доменами, указывающими на нее. Планируется создать оптимизированную для SEO переадресацию, включая 301-перенаправление и 404 обработку ошибок. Я использую 3 файла: apache virtua-host,.htaccess и php-skript (страница ошибки для http status code404
Vhost (Apache)
<VirtualHost xx.xxx.xxx.xx:80>
ServerName www.mydomain.com
ServerAlias mydomain.com
DocumentRoot /path/to/mydomain-on-filesystem
<Directory /path/to/mydomain-on-filesystem>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
.htaccess
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.mydomain-to-be-redirected\.com$ [NC]
RewriteRule ^(.*)$ http://www.mydomain-with-content.com/$1 [R=301,L]
ErrorDocument 404 /404.php
.htaccess и 404.php расположены /path/to/mydomain-on-filesystem.
У меня проблемы с обработкой RewriteRule (301 redirect) и ErrorDocument (обработка ошибок 404). Как только RewriteRule будет на месте, я получаю "301 перемещение навсегда" при вводе любого URL-адреса. Он полностью игнорирует код статуса http 404. К сожалению, это приводит к тому, что Google (насколько я слышал) и другие поисковые системы уменьшают рейтинг страниц (например, дублирующийся контент).
Что мне здесь не хватает? Любая помощь приветствуется.
Ждем вас от вас, ребята :-)
Большое спасибо!
SD
Правила перезаписи:
RewriteCond %{HTTP_HOST} ^www\.mydomain-to-be-redirected\.com$ [NC]
RewriteRule ^(.*)$ http://www.mydomain-with-content.com/$1 [R=301,L]
перенаправляет все с www.mydomain-to-be-redirected.com на www.mydomain-with-content.com. Все, что ниже этого, не будет использоваться.
В этом случае www.mydomain-with-content.com вернет 404, если страница там отсутствует, что похоже на то, что вы хотели бы сделать.