Назад | Перейти на главную страницу

могу ли я записать CNAME в поддомен / путь / к / директории? если нет, как я могу скрыть путь?

Я знаю, что это ужасно, но не мог найти способ объяснить это в нескольких словах.

Моя проблема в следующем ...

Домен сервера -

username.dyndns.org:9999

Я настраиваю поддомен с CNAME на моем хостинг-сервере.

trac.mydomain.com -> username.dyndns.org
svn.mydomain.com -> username.dyndns.org

Итак, URL-адрес trac / svn:

trac.mydomain.com:9999/trac
svn.mydomain.com:9999/svn/repos

Я хочу сократить URL-адреса до svn.mydomain.com:9999 and trac.mydomain.com:9999

Как мне это сделать? какие у меня варианты?

(к сожалению, мне сказали, что невозможно указать путь в CNAME, иначе я бы просто указал trac.mydomain.com на username.dyndns.org:9999/trac)

Я определил, как я могу думать о себе, - это использовать виртуальные хосты и просто использовать другой порт для svn и trac. Но мне интересно, есть ли еще решения.

Обновлено (внимательно прочитав вопрос)

В вашем файле httpd.conf ...

... убедитесь, что появляется строка, подобная следующей (обратите внимание, если у вас есть один из новых дистрибутивов Linux, они используют сумасшедшую схему связывания каталогов для включения и отключения модулей, вам придется проконсультироваться с документацию для вашего дистрибутива, если это так).

LoadModule rewrite_module   libexec/apache22/mod_rewrite.so

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

<IfModule rewrite_module>
    RewriteEngine on

    RewriteCond %{HTTP_HOST} trac.example.com
    RewriteRule (.*) /trac$1

    RewriteCond %{HTTP_HOST} svn.example.com
    RewriteRule (.*) /svn/repos$1
</IfModule>

Заметка

Если у вас есть что-то еще на сервере Apache, о котором вы не упомянули, это, скорее всего, сломает это.

Вы можете создать два виртуальный хост (и можно использовать тот же порт) в сочетании с mod_rewrite.