2010-12-28 11 views
0

Ich emuliere Ubuntu auf meinem Mac, und ich benutze es als Server.Drupal + Lighttpd: saubere URLs aktivieren (Neuschreiben)

Ich habe lighttpd + Drupal installiert und der folgende Konfigurationsabschnitt erfordert einen Domain-Namen, damit saubere URLs funktionieren.

Da ich einen lokalen Server verwende, habe ich keinen Domain-Namen und ich frage mich, wie es funktioniert, angesichts der Tatsache, dass sich die IP des lokalen Rechners normalerweise ändert.

dank

$HTTP["host"] =~ "(^|\.)mywebsite\.com" { 
    server.document-root = "/var/www/sites/mywebsite" 
    server.errorlog = "/var/log/lighttpd/mywebsite/error.log" 
    server.name = "mywebsite.com" 
    accesslog.filename = "/var/log/lighttpd/mywebsite/access.log" 
    include_shell "./drupal-lua-conf.sh mywebsite.com" 

    url.access-deny += ("~", ".inc", ".engine", ".install", ".info", 
     ".module", ".sh", "sql", ".theme", 
     ".tpl.php", ".xtmpl", "Entries", 
     "Repository", "Root") 


    # "Fix" for Drupal SA-2006-006, requires lighttpd 1.4.13 or above 
    # Only serve .php files of the drupal base directory 
    $HTTP["url"] =~ "^/.*/.*\.php$" { 
     fastcgi.server =() 
     url.access-deny = ("") 
    } 

    magnet.attract-physical-path-to = ("/etc/lighttpd/drupal-lua-scripts/p-.lua") 

} 

Antwort

1

Sie können immer localhost als Hostnamen verwenden. localhost zeigt auf 127.0.0.1, was Ihr lokaler Server ist. Angenommen, Lighttpd ist so konfiguriert, dass es auf jeder Schnittstelle zuhört, die funktionieren sollte.

Versuchen Sie einfach http://localhost/ und sehen, was passiert.

Wenn Sie Ihre Site in einem Unterverzeichnis Ihres Web-Root-Verzeichnisses konfigurieren müssen, z. B. http://localhost/site1/, und Sie möchten von einer einzigen Domain wie site1.localhost zugreifen, können Sie das immer zur Hosts-Datei hinzufügen (/ etc/Hosts):

127.0.0.1        site1.localhost

und lighttpd entsprechend konfigurieren.

+0

Ich habe mit Firefox im emulierten Ubuntu getestet und es funktioniert. Wie kann ich localhost in MAC OSX setzen, der Ubuntu Lighttpd Server zeigt? Muss ich den Apache in MACOSX aktivieren, um ihn weiterzuleiten, oder kann ich die Netzwerkeinstellungen ändern? Danke – aneuryzm

+0

Das ist ein bisschen schwieriger. Das emulierte Ubuntu (wie emuliert man es?) Sollte eine eigene lokale IP-Adresse haben, die mit dem Host-Betriebssystem (Mac) kommuniziert. Also musst du herausfinden, welche IP-Adresse er hat, und damit auf das emulierte Ubuntu von deinem MAC zugreifen. Sie können dann die Hosts-Datei (oder was auch immer die Methode für MAC ist) bearbeiten, um diese IP zu einem Domain-Namen zu machen, wie: "ubuntu", aber das ist nicht nötig, IP sollte nur funktionieren. – Mescalito