Κάντε XAMPP / Apache εξυπηρετούν αρχείο έξω από htdocs

ψήφοι
263

Είναι δυνατόν να ρυθμίσετε xampp για να εξυπηρετήσει ένα αρχείο έξω από το htdocsκατάλογο;

Για παράδειγμα, ας πούμε έχω ένα αρχείο που βρίσκεται ως εξής:

C:\projects\transitCalculator\trunk\TransitCalculator.php

και μου xampp αρχεία συνήθως σερβίρονται από:

C:\xampp\htdocs\

(γιατί αυτή είναι η προεπιλεγμένη ρύθμιση) Υπάρχει κάποιος τρόπος για να κάνει Apache αναγνωρίσει και να σερβίρουν μου εκεί TransitCalculator.phpτο αρχείο χωρίς να κινείται το πλαίσιο htdocs; Κατά προτίμηση θα ήθελα Apache για να εξυπηρετήσει πάνω / να έχουν πρόσβαση σε όλο το περιεχόμενο του καταλόγου έργων, και δεν θέλω να μετακινήσετε τον κατάλογο έργων στο πλαίσιο htdocs.

Επεξεργασία: επεξεργασία για να προσθέσετε Apache στον τίτλο ερώτηση για να κάνουν Q / Μια πιο «αναζήτηση»

Δημοσιεύθηκε 04/08/2008 στις 17:54
πηγή χρήστη
Σε άλλες γλώσσες...                            


6 απαντήσεις

ψήφοι
324

Εντάξει, ανά pix0r 's, σπινθήρες και ο Dave απαντήσεις «s μοιάζει υπάρχουν τρεις τρόποι να γίνει αυτό:


Virtual Hosts

  1. Ανοίξτε C: \ xampp \ apache \ conf \ έξτρα \ httpd-vhosts.conf.
  2. Line Un-σχόλιο 19 ( NameVirtualHost *:80).
  3. Προσθέστε το εικονικό κεντρικό υπολογιστή σας (~ γραμμή 36):

    <VirtualHost *:80>
        DocumentRoot C:\Projects\transitCalculator\trunk
        ServerName transitcalculator.localhost
        <Directory C:\Projects\transitCalculator\trunk>
            Order allow,deny
            Allow from all
        </Directory>
    </VirtualHost>
    
  4. Ανοίξτε το αρχείο σας φιλοξενεί (C: \ Windows \ System32 \ drivers \ etc \ hosts).

  5. Προσθέτω

    127.0.0.1 transitcalculator.localhost #transitCalculator
    

    στο τέλος του αρχείου (πριν από το Spybot - Search & Destroy πράγματα, αν έχετε το εγκατεστημένο).

  6. Αποθήκευση (Ίσως χρειαστεί να το αποθηκεύσετε στην επιφάνεια εργασίας, αλλάξτε τα δικαιώματα για το παλιό αρχείο hosts (δεξί κλικ> ιδιότητες), και αντιγράψτε το νέο στον κατάλογο σχέση με τον προηγούμενο (ή να μετονομάσετε το παλιό) εάν χρησιμοποιείτε Vista και έχουν πρόβλημα).
  7. Κάντε επανεκκίνηση του Apache.

Τώρα μπορείτε να αποκτήσετε πρόσβαση σε αυτόν τον κατάλογο από την περιήγηση στο http: //transitcalculator.localhost/ .


Κάντε μια Alias

  1. Ξεκινώντας ~ γραμμή 200 του σας http.confαρχείων, αντιγραφή τα πάντα μεταξύ <Directory "C:/xampp/htdocs">και </Directory>(~ γραμμή 232) και να το επικολλήσετε αμέσως παρακάτω με C:/xampp/htdocsαντικατασταθεί με επιθυμητό κατάλογο σας (σε αυτή την περίπτωση C:/Projects) για να δώσει το διακομιστή σας τα σωστά δικαιώματα για το νέο κατάλογο.

  2. Βρείτε το <IfModule alias_module></IfModule>τμήμα (~ γραμμή 300) και προσθέστε

    Alias /transitCalculator "C:/Projects/transitCalculator/trunk"
    

    (ή ό, τι έχει σχέση με τις επιθυμίες σας) κάτω από το Aliasμπλοκ σχόλιο, μέσα στις ετικέτες μονάδα.


Αλλαγή ρίζα του εγγράφου σας

  1. Επεξεργασία ~ γραμμή 176 στο C: \ xampp \ apache \ conf \ httpd.conf? αλλάξει DocumentRoot "C:/xampp/htdocs"σε #DocumentRoot "C:/Projects"(ή όπως αλλιώς θέλετε).

  2. Επεξεργασία ~ γραμμή 203 για να ταιριάζει με τη νέα θέση σας (σε αυτή την περίπτωση C:/Projects).


Σημειώσεις:

  • Θα πρέπει να χρησιμοποιήσετε καθέτους «/» αντί για πίσω καθέτους «\».
  • Μην συμπεριλάβετε το trailing «/» στο τέλος.
  • επανεκκίνηση του διακομιστή σας .
Απαντήθηκε 04/08/2008 στις 18:05
πηγή χρήστη

ψήφοι
90

Μπορείτε να το μεταφέρει από την επεξεργασία του DocumentRoot ρύθμιση στο XAMPP \ apache \ conf \ httpd.conf.

Θα πρέπει επί του παρόντος να είναι:

C: / xampp / htdocs

Αλλαγή στη διεύθυνση:

C: / έργα / transitCalculator / πορτ-μπαγκάζ

Απαντήθηκε 04/08/2008 στις 18:00
πηγή χρήστη

ψήφοι
49

Μια VirtualHost θα εργαστεί επίσης για αυτό και μπορεί να λειτουργήσει καλύτερα για σας, όπως μπορείτε να φιλοξενήσει πολλά έργα, χωρίς την ανάγκη για υποκαταλόγους. Εδώ είναι το πώς μπορείτε να το κάνετε:

httpd.conf (. ή έξτρα \ httpd-vhosts.conf σε σχέση με httpd.conf τελικές καθέτους «\» μπορεί να προκαλέσει μη λειτουργεί):

NameVirtualHost *:80
# ...
<VirtualHost *:80>  
    DocumentRoot C:\projects\transitCalculator\trunk\
    ServerName transitcalculator.localhost
    <Directory C:\projects\transitCalculator\trunk\>  
        Order allow,deny  
        Allow from all  
    </Directory>
</VirtualHost> 

αρχείο hosts (c: \ windows \ system32 \ drivers \ etc \ hosts συνήθως):

# localhost entries
127.0.0.1 localhost transitcalculator.localhost

Τώρα, κάντε επανεκκίνηση του XAMPP και θα πρέπει να είναι σε θέση να έχουν πρόσβαση http: //transitcalculator.localhost/ και θα χαρτογραφήσει κατ 'ευθείαν σε αυτόν τον κατάλογο.

Αυτό μπορεί να είναι χρήσιμο εάν προσπαθείτε να αναπαράγουν ένα περιβάλλον παραγωγής, όπου είστε ανάπτυξη ενός site που θα καθίσει στη ρίζα ενός domain name. Μπορείτε, για παράδειγμα, το σημείο με τα αρχεία με απόλυτη μονοπάτια που θα μεταφερθούν στο διακομιστή:

<img src="/images/logo.png" alt="My Logo" />

λαμβάνοντας υπόψη ότι σε ένα περιβάλλον χρησιμοποιώντας ψευδώνυμα ή υποκαταλόγους, θα πρέπει να παρακολουθείτε ακριβώς όπου η «εικόνες» κατάλογο ήταν σε σχέση με το τρέχον αρχείο.

Απαντήθηκε 05/08/2008 στις 16:30
πηγή χρήστη

ψήφοι
14

Μπορείτε να ρυθμίσετε τον Apache για να εξυπηρετήσει σελίδες από οπουδήποτε με οποιουσδήποτε περιορισμούς, αλλά είναι κανονικά κατανεμημένα σε μια πιο ασφαλή φόρμα.

Επεξεργασία apache τα αρχεία σας (http.conf είναι ένα από τα πιο κοινά ονόματα) θα σας επιτρέψει να ορίσετε οποιοδήποτε φάκελο έτσι ώστε να εμφανίζεται το Webroot σας.

ΕΠΕΞΕΡΓΑΣΙΑ:

ψευδώνυμο MyApp c: \ MyApp \

Έχω επεξεργαστεί την απάντησή μου για να συμπεριλάβει τη μορφή για τη δημιουργία ενός ψευδώνυμου στο αρχείο http.conf η οποία είναι περίπου όπως μια συντόμευση σε παράθυρα ή ένα συμβολικό σύνδεσμο κάτω Un * x όπου Apache «προσποιείται» ένας φάκελος είναι στη Webroot. Αυτό πιθανότατα θα είναι πιο χρήσιμο για σας σε μακροπρόθεσμη βάση.

Απαντήθηκε 04/08/2008 στις 18:00
πηγή χρήστη

ψήφοι
8

Σαν δευτερεύουσα σημείωση, αν προσπαθείτε να πάρετε XAMPP να χρησιμοποιήσετε μια μονάδα δίσκου δικτύου ως root έγγραφό σας θα πρέπει να χρησιμοποιήσετε διαδρομές UNC στο httpd.conf. XAMPP δεν θα αναγνωρίσει μονάδες αντιστοιχίζονται του δικτύου σας.

Για παράδειγμα, το παρακάτω δεν θα λειτουργήσει, DocumentRoot «X: / Webroot»

Αλλά αυτή η θέληση, DocumentRoot «//192.168.10.100/webroot» (σημειώστε τις καθέτους, όχι πίσω καθέτους)

Απαντήθηκε 28/01/2011 στις 04:04
πηγή χρήστη

ψήφοι
4

Καμία από αυτές τις λύσεις που εργάζονται εύκολα. Εδώ είναι η απλούστερη λύση για να επιτρέψει Apache 2 για να φιλοξενήσει ιστοσελίδες έξω από htdocs:

Κάτω από την οδηγία «DocumentRoot» στο httpd.conf, θα πρέπει να δείτε ένα μπλοκ κατάλογο. Αντικαταστήστε αυτό το μπλοκ κατάλογο με:

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Allow from all
</Directory> 

Θυμηθείτε να μην χρησιμοποιήσετε αυτή τη διαμόρφωση σε πραγματικό περιβάλλον

Απαντήθηκε 26/01/2009 στις 16:11
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more