Проблема, с которой я сталкиваюсь, – это заставить VirtualHost работать правильно. Вот как у меня две установки:
<VirtualHost *:80> DocumentRoot "/Apps/XAMPP/htdocs" ServerName wrks.tk ErrorLog "/Logs/Workarea/Error.log" CustomLog "/Logs/Workarea/Access.log" common <Directory "/Apps/XAMPP/htdocs/Workspace"> AllowOverride all Order allow,deny Allow from all </Directory> </VirtualHost> <VirtualHost *:80> DocumentRoot "/Apps/XAMPP/htdocs/REDIR" ServerName www.wrks.tk <Directory "/Apps/XAMPP/htdocs/REDIR"> AllowOverride all Order allow,deny Allow from all </Directory> </VirtualHost>
Предполагается, что вы это перенаправляете, если вы подключаетесь к http://www.wrks.tk/
к http://wrks.tk/
но по какой-то причине http://www.wrks.tk
загружает ту же самую точную домашнюю страницу как http://wrks.tk/
(вместо перенаправления, как и предполагалось). Но, как вы можете видеть, оба виртуальных хоста указываются на другой каталог:
/Apps/XAMPP/htdocs
(настоящая Домашняя страница) – это то, что загружает http://wrks.tk
/Apps/XAMPP/htdocs/REDIR
(страница перенаправления), предполагается перенаправить http://www.wrks.tk
на http://wrks.tk
. Это то, что у меня есть в файле:
<html> <body> <script>window.location.replace("http://wrks.tk/");</script> <h1 style="text-align: center;">Redirecting you to the correct link</h1> </body> </html>
Простой сценарий переадресации, но вместо этого он просто загружает домашнюю страницу.
Но никто из них не решает мою проблему, поэтому я задаю этот вопрос сейчас.
Извиняясь за любую путаницу, очень похожие ссылки затрудняют понимание и чтение.
Но чтобы объяснить это лучше,
Подключитесь к http://google.com/ и узнайте, как он перенаправляет вас на http://www.google.com/
Я хочу, в принципе, наоборот, но VirtualHosts не позволяют мне это делать.
Во-первых, вы действительно близки. Убедитесь, что модуль mod_rewrite
apache включен. Во-вторых, вам не нужны два виртуальных хоста, поэтому вы можете их объединить (я оставил тропы нетронутыми):.
<VirtualHost *:80> DocumentRoot "/Apps/XAMPP/htdocs" ServerName wrks.tk ServerName www.wrks.tk ErrorLog "/Logs/Workarea/Error.log" CustomLog "/Logs/Workarea/Access.log" common <Directory "/Apps/XAMPP/htdocs/Workspace"> AllowOverride all Order allow,deny Allow from all </Directory> </VirtualHost>
Теперь в каталоге htdocs
создайте файл .htaccess
с контентом:
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
Полностью REDIR
с содержимым. Это будет htaccess будет перенаправлять веб-сайт, который начинается с www.
к не-www.