LINUX.ORG.RU
ФорумAdmin

проблема с вирт. хостами apache [arch linux]

 ,


0

2

В общем настроил mod_rewrite, перехожу localhost/site пишет - «Неверное перенаправление на странице» (каждый браузер по разному).
закинул код в корень (public_html) перехожу localhost/ и все работает отлично.
/etc/httpd/conf/extra/httpd-vhosts.conf:

<VirtualHost *:80>
    DocumentRoot "/home/foozzi/public_html/"
    ServerAdmin root@localhost
    ServerName foozzi.com
    ServerAlias foozzi.com
    ErrorLog "/var/log/httpd/127.0.0.1-error_log"
    CustomLog "/var/log/httpd/127.0.0.1-access_log" common
    <Directory /home/foozzi/public_html/>
      DirectoryIndex index.htm index.html index.php
      AddHandler cgi-script .cgi .pl
      Options ExecCGI Indexes FollowSymLinks MultiViews +Includes
      AllowOverride All
      Order allow,deny
      Allow from all
    </Directory>
</VirtualHost>
httpd.conf: http://pastebin.com/Gr4GQemU
Где накосячил, подскажите

Ответ на: комментарий от AvegaTM

в корне то все работет, создаю в корне директорию /dir к примеру, создал вирт. хост вписал его в hosts, после этого работал он стал, НО как теперь из внешки к нему доступ получать?

noname_user ★★★
() автор топика
Ответ на: комментарий от noname_user

Судя по вопросам тебе будет полезно почитать. А также что такое dns.

invokercd ★★★★
()
Ответ на: комментарий от invokercd

да, именно, то есть, корень доступен по ip - 31.**.**.** а вирт хост так же по ip но уже как вирт хост, который находится в отдельной директории корня

noname_user ★★★
() автор топика
Ответ на: комментарий от noname_user

Так просто укажи в A записи домена твой ip и все дела. Если нет сервера имен, то придется в hosts вписывать, аналогично как раньше.

Например

bolgenos.com 31.31.31.31

invokercd ★★★★
()
Ответ на: комментарий от noname_user

Для то что бы несколько сайтов «висело» на одном ip адресе они должны чем-то отличаться. Можно сделать различие по портам (допустим 1 на 80м, а другой на 81м).

Или сделать различие по именам. Но тогда компы должны знать о существовании разных имен. В файле etc/hosts находится локальная таблица имен (ее знает только тот комп на котором этот файл лежит). Для того что бы весь интернет узнал о том что какое-то имя имеет такой-то ip надо поднимать службу DNS.

Например:

$TTL 3600        ; 1 hour default TTL
example.org.    IN      SOA      ns1.example.org. admin.example.org. (
                                2006051501      ; Serial
                                10800           ; Refresh
                                3600            ; Retry
                                604800          ; Expire
                                300             ; Negative Response TTL
                        )

; DNS Servers
                IN      NS      ns1.example.org.
                IN      NS      ns2.example.org.

; MX Records
                IN      MX 10   mx.example.org.
                IN      MX 20   mail.example.org.

                IN      A       192.168.1.1

; Machine Names
localhost       IN      A       127.0.0.1
ns1             IN      A       192.168.1.2
ns2             IN      A       192.168.1.3
mx              IN      A       192.168.1.4
mail            IN      A       192.168.1.5

; Aliases
www             IN      CNAME   example.org.
site2           IN      CNAME   example.org.
site3           IN      CNAME   example.org.
site4           IN      CNAME   example.org.
site5           IN      CNAME   example.org.

AvegaTM
()

Уберите <Directory «/home/foozzi/public_html/*»> из httpd.conf(этих настроек не должно быть в httpd.conf). Всё, что относится к виртуальному хосту, вы описываете внутри блока <VirtualHost *:80>. Пропишите в hosts что надо для того, что-бы при foozzi.com указывал на ваш сервак. И заходите по адресу foozzi.com(движок во вложенном в /home/foozzi/public_html каталоге будет доступен по адресу http://foozzi.com/имя_вложенного_каталога). Всё будет работать. localhost оставьте для дефолтного сервера(из /srv/http).

lucentcode ★★★★★
()
Ответ на: комментарий от lucentcode

RewriteEngine on
RewriteBase /

#RewriteCond %{QUERY_STRING} ^.+ [OR]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?$1 [QSA]
noname_user ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.