iamntz
(Ionuț Staicu)
aprilie 18, 2016, 12:44pm
1
Dacă dezvoltați local site-uri pentru mai mulți clienți, folositi Apache și vreți câte un subdomeniu local pentru fiecare proiect în parte, puteți face una din următoarele lucruri:
Pentru fiecare proiect în parte adăugați câte un VirtualHost
;
Automatizați toată povestea, astfel încât fiecare folder din htdocs
să fie considerat un subdomeniu.
În httpd.conf
adăugați:
<VirtualHost *:80>
VirtualDocumentRoot C:/work/projects/client1/%1/
ServerAlias *.client1.localhost
</VirtualHost>
<VirtualHost *:80>
VirtualDocumentRoot C:/work/projects/client2/%1/
ServerAlias *.client2.localhost
</VirtualHost>
<VirtualHost *:80>
VirtualDocumentRoot C:/work/projects/%1/
ServerAlias *.localhost
</VirtualHost>
Este important ca regula globală (generală? universală? nu știu care ar fi un termen bun) să fie ultima.
Cam atât
5 Likes
Ceva de genul ăsta făceam și eu, doar că eu foloseam Acrylic DNS pentru a-mi mapa automat orice-domeniu.local către un dosar cu același nume din W: (care la rândul său era de fapt webroot-ul Apache montat cu comanda subst
).
2 Likes
ct27stf
(Cătălin Nicolescu)
aprilie 19, 2016, 1:12pm
3
Ăsta e “best practice”.
Tot timpul sa folosesti VirtualHost.
http://localhost/nume_proiect
E motiv sa-ti iei o rigla peste degete. imho
Ideea era că folosim virtual host-uri dinamice, fără a fi nevoie să modifici etc/hosts
de fiecare dată când ai nevoie de unul nou.
1 Like
Eu foloseam un alias (si cateva functii) camd rulam XAMPP
function newvhost(){
domain=$1
name=${domain/.app/}
touch 'c:\xampp\apache\conf\vhosts\'$domain.conf
cat > 'c:\xampp\apache\conf\vhosts\'$domain.conf <<EOF
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "C:/dev/$name/public"
ServerName $name.app
ServerAlias www.$name.app
ErrorLog "logs/$name.app.example.com-error.log"
CustomLog "logs/$name.app.example.com-access.log" common
# SetEnv DB_HOST localhost
# SetEnv DB_DATABASE $name
# SetEnv DB_USERNAME root
# SetEnv DB_PASSWORD
# SetEnv DB_PREFIX prefix_
</VirtualHost>
EOF
subl 'c:\xampp\apache\conf\vhosts\'$domain.conf
addToHosts $domain
# c:/xampp/apache_stop.bat
# c:/xampp/apache_start.bat
}
alias nv="newvhost"
function addToHosts()
{
echo '127.0.0.1 '$1 >> 'c:/Windows/System32/drivers/etc/hosts'
}
Si il foloseam nv site.app
1 Like