Как настроить .htaccess переписать в другую папку - PullRequest
0 голосов
/ 29 марта 2010

Я перемещаю свой сайт на новый хост, но мне нужно, чтобы мой текущий сервер продолжал обрабатывать запросы (не все файлы могут быть перемещены на новый сервер). Поэтому я добавил припаркованный домен на свой старый сервер (old.mydomain.com) и хочу, чтобы все запросы к нему записывались в файлы со старого сайта.

Мой старый сайт (mydomain.com) был размещен внутри папки (/public_html/mydomain/), и я хочу, чтобы все запросы к old.mydomain.com переписывались в одну и ту же папку. Так что, если mydomain.com/blog был внутри /public_html/mydomain/blog, я теперь хочу, чтобы old.mydomain.com/blog также достиг /public_html/mydomain/blog.

Вот .htaccess, который я пытаюсь использовать:

RewriteCond %{HTTP_HOST} ^old\.mydomain\.com/*
RewriteRule ^(.*)$ mydomain/$1 [NC,L] 

Но по какой-то причине, как только я добавляю $1 в правило перезаписи, я получаю внутреннюю ошибку.

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 29 марта 2010

Пожалуйста, попробуйте исправить конфигурацию .htaccess следующим образом:

RewriteCond %{HTTP_HOST} ^old\.mydomain\.com$
RewriteRule ^(.*)$ /public_html/mydomain/$1 [NC,L]
0 голосов
/ 29 марта 2010

Сконфигурируйте это как отдельный vhost, называемый old.mydomain.com, и убедитесь, что он стоит перед *.mydomain.com в ваших определениях vhost (т.е. выше в vhosts.conf). Дайте old.mydomain.com тот же DocumentRoot, который был у вашего предыдущего домена.

.htaccess - это самый ресурсоемкий способ обслуживания веб-страницы, и его следует использовать только при отсутствии других доступных вариантов.

...