Сейчас я пытаюсь создать свою личную веб-страницу.
Я использую VPS и вручную установил Wordpress, и, похоже, все работает ... за исключением случаев, когда я перехожу на версию своего веб-сайта без www, появляется страница, которая не найдена.
www.andrewrockefeller.com <- Работает
andrewrockefeller.com <- Нет (и я хочу перенаправить его на www.andrewrockefeller.com)
Я попытался добавить функциональность RewriteEngine в свой .htaccess, но это не работает.
Я также попытался добавить метод, получивший наибольшее количество голосов, в мой файл по умолчанию (который apache2.conf извлекает из:
<VirtualHost *>
ServerName andrewrockefeller.com
Redirect 301 / http://www.andrewrockefeller.com/
</VirtualHost>
Видя, как много людей могут заставить вышеуказанное работать, есть ли еще что-то, что мне может не хватать, чтобы это работало?
Спасибо за уделенное время!
РЕДАКТИРОВАТЬ: Мой файл .htaccess выглядит следующим образом:
# BEGIN WordPress
<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
Раздел #Wordpress был автоматически создан, когда я изменил настройки с? P = 1 (уродливые ссылки) на prettylinks. Любые предлагаемые решения, которые я нашел здесь, я попробовал и перезапустил apache2, и это не сработало.
Проблема 1: неправильный DNS
У вас нет записи A или CNAME для www.andrewrockefeller.com. В результате браузер не может преобразовать ваше доменное имя в IP-адрес.
dig andrewrockefeller.com
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-20.P1.el5_8.2 <<>> andrewrockefeller.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31887
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;andrewrockefeller.com. IN A
;; AUTHORITY SECTION:
andrewrockefeller.com. 1739 IN SOA dns226.a.register.com. root.register.com. 2013082003 28800 7200 604800 14400
;; Query time: 22 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Thu Oct 31 12:44:47 2013
;; MSG SIZE rcvd: 98
Похоже, ваш домен зарегистрирован на Register.com. На их портале вам нужно добавить запись A для
andrewrockefeller.com -> 76.164.206.80
После добавления этой записи A версия вашего домена domain.com должна разрешиться.
Проблема 2: каноническое доменное имя
Я думаю, что Wordpress будет правильно перенаправлять домены, но для обеспечения этого вам лучше принудительно использовать все, что не соответствует тому, что вы хотите, быть тем, что вы хотите.
Ссылка: http://wiki.apache.org/httpd/CanonicalHostNames
Я предпочитаю использовать mod_rewrite и этот метод:
# And for a site running on port 80
RewriteCond %{HTTP_HOST} !^example\.com [NC]
RewriteCond %{HTTP_HOST} !=""
RewriteRule ^/?(.*) http://example.com/$1 [L,R=301]
В основном это говорит о том, что если домен не совпадает с example.com, перенаправление на example.com. Если вы хотите стандартизировать сайт www.example.com, измените его соответствующим образом:
# And for a site running on port 80
RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
RewriteCond %{HTTP_HOST} !=""
RewriteRule ^/?(.*) http://www\.example.com/$1 [L,R=301]
Ваш ответ заключается в DNS. Регистратор вашего доменного имени, register.com, должен предоставлять возможность управлять записями DNS. В этом разделе вашей панели управления, вероятно, будет возможность включить www. поддомен.
Если его нет, вы можете создать его самостоятельно, добавив его как субдомен, указывающий на корневую папку вашего хостинга.
Видеть: http://help.register.com/app/answers/detail/a_id/2882
<If "%{HTTP_HOST} != 'www.example.com'">
Redirect / http://www.example.com/
</If>
Как объяснено здесь в канонических именах хостов Переназначение / перезапись документов Apache