Gå til innhold

[Løst] Konfiguere virtualhost i xampp


Anbefalte innlegg

Hei!

 

Jeg prøver å sette opp nettsiden min slik at jeg kan sende brukerne til (variabel).domene.no. Jeg har satt opp .htaccess slik at det skal fungere, men jeg vet ikke hvordan jeg konfiguerer xampp.

 

Jeg har prøvd

<VirtualHost *:80>

ServerName domene.no

ServerAlias domene.no

ServerAlias *.domene.no

</VirtualHost>

 

 

.. i httpd-vhosts og fjernet comments på NameVirtualHost *:80. Nå er jeg altså ganske stuck. Noen som har en ide? Det kan forsåvidt være at koden i quoten fungerer, men at jeg har gjort det feil.

Endret av winter2012
Lenke til kommentar
Videoannonse
Annonse

Kan du bruker headers istedet ?

 

Eks:

header("Location: http://www.example.com/index.php");

 

Skal prøve å forklare hva jeg mener.

 

Hver bruker får sin egen adresse (subdomain) basert på sitt brukernavn, så "jens" vil altså få jens.nettsiden.no. Den egentlige adressen er index.php?w=jens, så problemstillingen min er hvordan jeg skal konfiguere xampp slik at dette blir mulig.

 

Blogg.no bruker også dette konseptet, hvor hver blogger har sin egen bloggadresse. For eksempel voe.blogg.no, kari.blogg.no, jens.blogg.no.

 

Dette må altså være fleksibelt. Jeg kan ikke konfigurere DNS-innstillingene hver gang noen registrerer seg da dette ville vært ekstremt tugvint.

Endret av winter2012
Lenke til kommentar

Skal prøve å forklare hva jeg mener.

 

Hver bruker får sin egen adresse (subdomain) basert på sitt brukernavn, så "jens" vil altså få jens.nettsiden.no. Den egentlige adressen er index.php?w=jens, så problemstillingen min er hvordan jeg skal konfiguere xampp slik at dette blir mulig.

 

Blogg.no bruker også dette konseptet, hvor hver blogger har sin egen bloggadresse. For eksempel voe.blogg.no, kari.blogg.no, jens.blogg.no.

 

Dette må altså være fleksibelt. Jeg kan ikke konfigurere DNS-innstillingene hver gang noen registrerer seg da dette ville vært ekstremt tugvint.

 

Tror nok du leter etter mod_rewrite funksjonen i Apache.

 

Hvordan du lettest kan sette opp at index.php?w=jens går til en virtualhost som jens.domene.no, har jeg ikke satt meg inn i. Troligvis er det her snakk om et registreringsskript som har tillatelse til å lage nye .conf filer for Apache, samt skape en ny mappe for hver enkelt bruker som så blir satt som DocumentRoot for jens.domene.no. Se på denne siden for hint om hvordan.

 

I forhold til DNS, må du ha en registrar som støtter wildcard DNS.

Endret av martinbn
Lenke til kommentar

Hvilken Apache versjon?

2.4 introduserte noen nye regler blandt annet.

Eksempel tatt ut i fra httpd-vhosts.conf med Apache 2.4


<VirtualHost 127.0.0.1:80>
DocumentRoot "D:/xampp/htdocs"
ServerName localhost
</VirtualHost>


<VirtualHost 127.0.0.1:80>
DocumentRoot "D:/sites/test/public"
ServerName test.dev
<Directory "D:/sites/test/public">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
</VirtualHost>

 

I Windows, åpne filen:

C:\Windows\System32\drivers\etc\hosts i Notepad som administrator, legg til:

127.0.0.1 test.dev

127.0.0.1 www.test.dev

 

Kan komme med mer avansert eksempel for bruk av httpd-vhosts.conf seinere i kveld som tar i bruk automatisk DNS oppslag lokalt av alle .dev-domener (Gjelder Mac / Linux).

Endret av Gjest
Lenke til kommentar

Hvilken Apache versjon?

2.4 introduserte noen nye regler blandt annet.

Eksempel tatt ut i fra httpd-vhosts.conf med Apache 2.4


<VirtualHost 127.0.0.1:80>
DocumentRoot "D:/xampp/htdocs"
ServerName localhost
</VirtualHost>


<VirtualHost 127.0.0.1:80>
DocumentRoot "D:/sites/test/public"
ServerName test.dev
<Directory "D:/sites/test/public">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
</VirtualHost>

 

I Windows, åpne filen:

C:\Windows\System32\drivers\etc\hosts i Notepad som administrator, legg til:

127.0.0.1 test.dev

127.0.0.1 www.test.dev

 

Kan komme med mer avansert eksempel for bruk av httpd-vhosts.conf seinere i kveld som tar i bruk automatisk DNS oppslag lokalt av alle .dev-domener (Gjelder Mac / Linux).

 

 

 

Dette er helt nytt for meg. Fikk det ikke til å fungere helt. Xampp er forresten på en dedikert Windows-server og er tilknyttet et domene.

 

Her er forresten .htaccess-en jeg bruker.

 

RewriteEngine On

Options +Followsymlinks

RewriteBase /

RewriteCond %{HTTP_HOST} .

RewriteCond %{HTTP_HOST} !^www\. [NC]

RewriteCond %{REQUEST_FILENAME} !^.*/images/.*$

RewriteCond %{REQUEST_FILENAME} !^.*/uploads/.*$

RewriteCond %{HTTP_HOST}<>%{REQUEST_URI} ^([^.]+)\.DOMENE\.net(:80)?<>/([^/]*) [NC]

RewriteCond %1<>%3 !^(.*)<>\1$ [NC]

RewriteRule ^(.*)$ - [E=BLOGUSER:%1]

RewriteCond %{ENV:BLOGUSER} ^(.+)$

RewriteRule ^$ /index.php?w=%1 [L]

RewriteCond %{ENV:BLOGUSER} ^(.+)$

RewriteRule ^page([0-9]+)/([^/]+)?$ /index.php?w=%1&page=$1$2 [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^profiles/([^/]+)/([^/]+)?$ /profile.php?u=$1$2 [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^profiles/?$ /profile.php [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^albums/([^/]+)/([^/]+)?$ /album.php?u=$1$2 [L]

RewriteCond %{ENV:BLOGUSER} ^(.+)$

RewriteRule ^archive/(.*)/(.*)/([^/]+)?$ /archive.php?w=%1&y=$1&m=$2$3 [L]

RewriteCond %{ENV:BLOGUSER} ^(.+)$

RewriteRule ^archive\.php/(.*)/(.*)/([^/]+)?$ /archive.php?w=%1&y=$1&m=$2$3 [L]

RewriteCond %{ENV:BLOGUSER} ^(.+)$

RewriteRule ^archive/(.*)/([^/]+)?$ /archive.php?w=%1&y=$1$2 [L]

RewriteCond %{ENV:BLOGUSER} ^(.+)$

RewriteRule ^archive\.php/(.*)/([^/]+)?$ /archive.php?w=%1&y=$1$2 [L]

RewriteCond %{ENV:BLOGUSER} ^(.+)$

RewriteRule ^archive/([^/]+)?$ /archive.php?w=%1$1 [L]

RewriteCond %{ENV:BLOGUSER} ^(.+)$

RewriteRule ^archive\.php/([^/]+)?$ /archive.php?w=%1$1 [L]

RewriteCond %{ENV:BLOGUSER} ^(.+)$

RewriteRule ^friends/([^/]+)?$ /friends.php?w=%1$1 [L]

RewriteCond %{ENV:BLOGUSER} ^(.+)$

RewriteRule ^friends\.php/([^/]+)?$ /friends.php?w=%1$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^([^/]+)/friends/page([0-9]+)/([^/]+)?$ /friends.php?w=$1&page=$2$3 [L]

RewriteCond %{ENV:BLOGUSER} ^(.+)$

RewriteRule ^([0-9]+)/([^/]+).html$ /entry.php?w=%1&e_id=$1 [L]

RewriteCond %{ENV:BLOGUSER} ^(.+)$

RewriteRule ^([0-9]+)/([^/]+)?$ /entry.php?w=%1&e_id=$1$2 [L]

RewriteCond %{ENV:BLOGUSER} ^(.+)$

RewriteRule ^&([^/]+)?$ /index.php?w=%1&$1 [L]

RewriteCond %{ENV:BLOGUSER} ^(.+)$

RewriteRule ^([^/]+)/([^/]+)?$ /index.php?w=%1&category=$1$2 [L]

RewriteCond %{ENV:BLOGUSER} ^(.+)$

RewriteRule ^([^/]+)/page([0-9]+)/([^/]+)?$ /index.php?w=%1&category=$1&page=$2$3 [L]

Endret av winter2012
Lenke til kommentar

Jeg regner med at du så du måtte redigere:

DocumentRoot "D:/sites/test/public"

og

<Directory "D:/sites/test/public">

 

i eksemplet jeg ga deg for å matche mot webserveren din? Gå å les en tutorial eller noe slikt om du står fast :) Googles-søk: Apache + vhost

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...