Απόλυτη διαδρομή προς το αρχείο. Περιγραφή διαδρομών: απόλυτη, σχετική, UNC και διεύθυνση URL

Πρόγραμμα Kerish Doctor. 30.04.2019
Επισκόπηση προγράμματος Η έκδοση υπολογιστή του Microsoft Excel Viewer θα επιτρέψει...

Chercher Οικιακές συσκευέςχωρίζονται σε εξωτερικά και εσωτερικά. Οι εξωτερικοί σύνδεσμοι είναι σύνδεσμοι που οδηγούν από έναν ιστότοπο σε έναν άλλο ιστότοπο ή αρχείο που βρίσκεται σε άλλο ιστότοπο. Εσωτερικοί σύνδεσμοι - αυτοί είναι σύνδεσμοι που συνδέονται από μια σελίδα ενός ιστότοπου σε μια άλλη σελίδα του ίδιου ιστότοπου ή σε ενότητες της ίδιας σελίδας.

Chercher εξωτερικούς συνδέσμουςστο χαρακτηριστικό href της ετικέτας περιέχουν την απόλυτη διαδρομή προς το έγγραφο στο οποίο αναφέρονται. Οι εσωτερικοί σύνδεσμοι, με τη σειρά τους, μπορούν να περιέχουν τόσο απόλυτες όσο και σχετικές διαδρομές (στην περίπτωση αυτή εξαρτάται από τις προσωπικές σας προτιμήσεις).

Όλοι οι σύνδεσμοι μπορούν επίσης να χωριστούν σε σχετικούς και απόλυτους. Σχετικοί σύνδεσμοι- αυτοί είναι σύνδεσμοι HTML που περιέχουν σχετικές συνδέσεις μπορεί να είναι μόνο εσωτερικοί. Απόλυτοι σύνδεσμοι- αυτοί είναι σύνδεσμοι που περιέχουν απόλυτες διαδρομές μπορεί να είναι είτε εξωτερικοί είτε εσωτερικοί.

Σχετική διαδρομή

Σχετική διαδρομήσημαίνει ότι η διαδρομή προς το επιθυμητό αρχείο ή σελίδα του ιστότοπού σας ξεκινά σε σχέση με τον κατάλογο στον οποίο βρίσκεται η σελίδα με τον σύνδεσμο ή σε σχέση με τον ριζικό κατάλογο του ιστότοπου. Ας δούμε τα μέρη από τα οποία μπορεί να αποτελείται μια σχετική διαδρομή:

Μέρη του μονοπατιού Περιγραφή Παραδείγματα τιμών
όνομα αρχείου Εάν καθορίσετε μόνο το όνομα αρχείου ως τιμή χαρακτηριστικού, αυτό σημαίνει ότι το επιθυμητό αρχείο βρίσκεται στον ίδιο φάκελο με τη σελίδα με τον σύνδεσμο. "page.html"
κατάλογος/ Εάν το αρχείο στο οποίο πρέπει να καθορίσουμε τη διαδρομή βρίσκεται σε έναν θυγατρικό κατάλογο σε σχέση με το αρχείο με τη σύνδεση, αυτό σημαίνει ότι πρέπει να κατέβουμε ένα επίπεδο (στον θυγατρικό φάκελο του τρέχοντος καταλόγου), σε αυτήν την περίπτωση Το μονοπάτι ξεκινά με το όνομα του θυγατρικού καταλόγου, μετά από αυτό. Το όνομα υποδεικνύεται με κάθετο "/", χρησιμεύει για να χωρίσει τμήματα της διαδρομής, ακολουθούμενο από το όνομα του αρχείου που χρειαζόμαστε.

Σημείωση: μπορείτε να κατεβείτε ακριβώς όσους φακέλους τους δημιουργήσατε. Για παράδειγμα, εάν δημιουργήσατε έναν φάκελο 10 επίπεδα κάτω από τη ρίζα, μπορείτε να καθορίσετε μια διαδρομή που θα σας κατεβάσει 10 φακέλους. Ωστόσο, εάν έχετε τόσα πολλά επίπεδα, πιθανότατα σημαίνει ότι η οργάνωση του ιστότοπού σας είναι άσκοπα άβολη.

"directory/page.html"

"directory1/directory2/page.html"

../ Εάν πρέπει να υποδείξετε ότι το αρχείο με το οποίο συνδέεστε βρίσκεται σε έναν γονικό φάκελο, χρησιμοποιήστε τα σύμβολα .. (δύο κουκκίδες), σημαίνουν ανεβείτε ένα επίπεδο (στο γονικό φάκελο του τρέχοντος καταλόγου). Στη συνέχεια, καθορίζουμε μια κάθετο " / " για να διαχωρίσουμε τμήματα της διαδρομής και γράφουμε το όνομα του αρχείου μας.

Σημείωση: τα σύμβολα .. μπορούν να χρησιμοποιηθούν όσες φορές θέλετε στη σειρά, η χρήση τους θα σας μετακινεί έναν φάκελο επάνω κάθε φορά. Ωστόσο, μπορείτε να ανεβείτε μέχρι να φτάσετε στον ριζικό φάκελο του ιστότοπού σας. Δεν μπορείτε να πάτε υψηλότερα από αυτόν τον φάκελο.

" ../page.html"

" ../../page.html"

" ../../../cat1/cat2/page.html " - ανεβαίνουμε από τον τρέχοντα φάκελο τρεις καταλόγους ψηλότερα και από εκεί κατεβαίνουμε δύο επίπεδα χαμηλότερα στο απαιτούμενο αρχείο

/ Μια σχετική διαδρομή δεν χρειάζεται πάντα να ξεκινά σε σχέση με την τρέχουσα θέση της σελίδας σύνδεσης, μπορεί επίσης να ξεκινήσει σε σχέση με τον ριζικό κατάλογο του ιστότοπου. Για παράδειγμα, εάν το επιθυμητό αρχείο βρίσκεται στον ριζικό κατάλογο, η διαδρομή μπορεί να ξεκινήσει με το σύμβολο " / ", μετά από το οποίο πρέπει απλώς να υποδείξετε το όνομα του επιθυμητού αρχείου, το οποίο βρίσκεται στον ριζικό κατάλογο.

Σημείωση: Όταν ο χαρακτήρας "/" εμφανίζεται πρώτος, σημαίνει ότι η διαδρομή ξεκινά από τον ριζικό κατάλογο.

"/page.html"

" /cat1/cat2/car.png "

Απόλυτη διαδρομή

Μια απόλυτη διαδρομή χρησιμοποιείται συνήθως για τον καθορισμό της διαδρομής σε ένα αρχείο που βρίσκεται σε άλλο πόρο δικτύου. Είναι η πλήρης διεύθυνση URL σε ένα αρχείο ή σελίδα. Πρώτα απ 'όλα, η διεύθυνση υποδεικνύει το πρωτόκολλο που χρησιμοποιείται, ακολουθούμενο από το όνομα τομέα (όνομα τοποθεσίας). Για παράδειγμα: http://www.primer.ru - έτσι μοιάζει η απόλυτη διαδρομή προς έναν συγκεκριμένο ιστότοπο. Το http:// είναι ένα πρωτόκολλο μεταφοράς δεδομένων και το www.primer.ru είναι το όνομα του ιστότοπου (τομέας).

Μπορείτε επίσης να χρησιμοποιήσετε μια απόλυτη διαδρομή στον δικό σας ιστότοπο. Ωστόσο, σε έναν ιστότοπο, συνιστάται η χρήση μιας σχετικής διαδρομής ως τιμή των συνδέσμων.

Τώρα ας δούμε τι είναι URL-διεύθυνση. Κάθε ιστοσελίδα στο Διαδίκτυο έχει τη δική της μοναδική διεύθυνση, η οποία ονομάζεται URL. Συντομογραφία URLαντιπροσωπεύει Uομοιόμορφη Rπηγή μεγάλοΈνα ocator (ομοιόμορφη διεύθυνση πόρου), με απλά λόγια, μια διεύθυνση URL είναι ένα αναγνωριστικό για τη θέση ενός πόρου. Αυτή η μέθοδος εγγραφής μιας διεύθυνσης είναι τυποποιημένη στο Διαδίκτυο.

Απόλυτες διαδρομές


Σε αυτήν την περίπτωση, όλα είναι πολύ απλά, υποδεικνύουμε την άμεση διαδρομή σε ένα αρχείο που βρίσκεται σε άλλο τομέα. Είναι δυνατό να ορίσετε μια συντομευμένη διαδρομή χρησιμοποιώντας δύο κάθετες στην αρχή χωρίς να προσδιορίσετε ρητά http ή https και ο ίδιος ο διακομιστής θα αντικαταστήσει το απαιτούμενο πρωτόκολλο (επέκταση) σύμφωνα με τις ρυθμίσεις διακομιστή. Είναι σημαντικό να σημειωθεί ότι αυτή η προβολή είναι απαραίτητη για την πλοήγηση μεταξύ των τοποθεσιών:
http://google.com

Σε σχέση με τη ρίζα του ιστότοπου


Σε αυτήν την περίπτωση, το πρόγραμμα περιήγησης παίρνει τον τομέα του ιστότοπου και αντικαθιστά τον καθορισμένο σύνδεσμο προς αυτόν. Σε αυτή την περίπτωση θα λειτουργήσει http://site/css/style.css.Στην περίπτωση του http, δεν υπάρχει λόγος ανησυχίας για το https, αφού θα ληφθεί με τη μορφή που είναι ανοιχτή αυτή τη στιγμή η σελίδα, δηλαδή με http θα είναι http. Είναι επίσης πολύ βολικό για τη μεταφορά ορισμένων λειτουργιών μεταξύ διαφορετικών τοποθεσιών ή τη μεταφορά μιας τοποθεσίας από έναν τομέα σε άλλο χωρίς να αγγίξετε τον κώδικα. Ένας τρόπος προτεραιότητας για τον καθορισμό διαδρομών σε σελίδες και αρχεία.

Σχετικά με αυτή τη σελίδα


Μια λιγότερο δημοφιλής μέθοδος, καθώς παίρνει την τρέχουσα σελίδα και προσθέτει μια νέα διεύθυνση στη διαδρομή της ..com/trick/css/style.css . Σχεδόν αδύνατο να χρησιμοποιηθεί σε περιπτώσεις που χρησιμοποιούμε CNC.

Χρησιμοποιώντας την ετικέτα βάσης


Σε αυτήν την περίπτωση, αντί για την τυπική αντικατάσταση τομέα, η διαδρομή από τη βάση θα αντικατασταθεί με τη σχετική διαδρομή. Δηλαδή, θα λάβουμε ένα αρχείο που βρίσκεται:
http://site/tricks/css/style.css

Σχετικές και απόλυτες διαδρομές στην PHP

Όλα είναι πολύ απλά, όταν εργαζόμαστε στο σύστημα αρχείων θα τηρούμε τους κανόνες για την εργασία με διαδρομές στην PHP. Αν περάσουμε την εντολή στο πρόγραμμα περιήγησης πελάτη, τότε χρησιμοποιούνται μονοπάτια HTML. Δηλαδή στο παρακάτω παράδειγμα περνάμε από την PHP τη διαδρομή στον browser με τη σελίδα στην οποία πρέπει να πάει. Το γεγονός ότι το πρόγραμμα περιήγησης έχει κάνει τη μετάβαση μεταξύ σελίδων φαίνεται στη γραμμή διευθύνσεων:
header("Τοποθεσία: /page2.php");
Έτσι, ανοίγουμε τη σελίδα page1.php και η σελίδα2.php γράφεται στη γραμμή διευθύνσεων, και το όλο θέμα είναι ότι το πρόγραμμα περιήγησης ΠΡΩΤΑ φόρτωσε τη σελίδα page1.php και μετά έλαβε πληροφορίες με ανακατεύθυνση και ΦΟΡΤΩΣΕ τη δεύτερη σελίδα σελίδα2. php. Σε αυτήν την περίπτωση, η ανακατεύθυνση ήταν στην πλευρά του προγράμματος-πελάτη (browser), που σημαίνει ότι χρησιμοποιούμε τους κανόνες που σχετίζονται με την HTML (διεύθυνση ιστού).

Απόλυτη διαδρομή στην PHP

Μια απόλυτη διαδρομή στην PHP αντιμετωπίζεται ως απόλυτη διαδρομή από τον κατάλογο στον οποίο είναι εγκατεστημένος ο διακομιστής web. Αυτή η διαδρομή μπορεί να ληφθεί από:
$_SERVER["DOCUMENT_ROOT"]
Αν πάρουμε ως παράδειγμα αυτόν τον διακομιστή, η διαδρομή του είναι: /home/school/public_html/schoolphp, που σημαίνει ότι για να καθορίσετε την πλήρη διαδρομή προς τη φωτογραφία "/photo/img1.jpg", πρέπει να καθορίσετε τα εξής μονοπάτι:
getimagesize("/home/school/public_html/schoolphp/photo/img1.jpg"); getimagesize($_SERVER["DOCUMENT_ROOT"]."/photo/img1.jpg");
Θα ήθελα να σημειώσω ότι ο ιστότοπος μπορεί να βρίσκεται σε έναν υποκατάλογο, δηλαδή για:
http://site/forum/
Μπορεί να είναι εξαιρετικά δύσκολο να χρησιμοποιήσετε το DOCUMENT_ROOT, επειδή το φόρουμ (ως εξωτερικό σενάριο) δεν γνωρίζει ακόμα πού θα βρίσκεται στον ιστότοπο. Υπάρχουν διάφοροι τρόποι αντιμετώπισης αυτού του προβλήματος, ας απαριθμήσουμε ένα ζευγάρι:

1) Δημιουργήστε μια σελίδα ως υποτομέα.

2) Γράψτε την απόλυτη διαδρομή στο config στο config.php, δηλαδή:
Πυρήνας::$ROOT = $_SERVER["DOCUMENT_ROOT"]; getimagesize(Core::$ROOT."/photo/img1.jpg"); // χρησιμοποιήστε μια απόλυτη διαδρομή που μπορεί να τροποποιηθεί
Τώρα μπορείτε να συνδέσετε ολόκληρο τον ιστότοπο στο Core::$ROOT χωρίς τύψεις και εάν κατά λάθος χρειαστεί να αλλάξετε τη διαδρομή προς το αρχείο που περιλαμβάνεται, μπορείτε να παρακάμψετε την τιμή του Core::$ROOT;

Σε σχέση με το αρχείο έναρξης (βάση)

Σε πολλά συστήματα index.php υπάρχει ένα μόνο σημείο εισόδου, δηλαδή ανοίγει το index.php και συνδέονται άλλα αρχεία από αυτό.
συμπεριλάβετε "./modules/allpages.php"?
Σε αυτήν την περίπτωση, το allpages.php θα συνδεθεί κατά μήκος της διαδρομής: /home/school/public_html/schoolphp/modules/allpages.php. Αυτή η μέθοδος είναι βολική γιατί αν γράψετε include στο αρχείο allpages.php: include "./modules/module/page.php";, τότε θα εξακολουθήσει να γίνεται αναζήτηση σε σχέση με το σημείο εισόδου, δηλαδή index.php:
/home/school/public_html/schoolphp/modules/module/page.php
Αυτή είναι μια αρκετά βολική υλοποίηση, δεδομένου ότι γνωρίζουμε ξεκάθαρα τη δομή της εφαρμογής μας σε σχέση με το root index.php. Ακόμα κι αν καλέσουμε οποιοδήποτε άλλο αρχείο εκτός από το index.php, οι διαδρομές θα λειτουργούν ακριβώς το ίδιο. Καλέσαμε dir.php , που σημαίνει ότι οι διαδρομές θα ληφθούν σε σχέση με το αρχείο dir.php!

Τι άλλο πρέπει να ξέρετε;

Δεν μπορούσα να μην υπενθυμίσω σε όσους ξέχασαν ή προτείνω σε όσους δεν ξέρουν ότι μπορείτε να επιστρέψετε όχι μόνο βαθιά σε καταλόγους, αλλά και επάνω (φακέλους πίσω) και η σύνταξή τους είναι αρκετά απλή:
συμπεριλάβετε "../file.php"?
Σε αυτήν την περίπτωση, θα ληφθεί ο κατάλογος αυτού του αρχείου ή του root index.php και θα επιστραφεί 1 φάκελος πίσω, όπου θα γίνει αναζήτηση του αρχείου "file.php".

Το DOCUMENT_ROOT δεν είναι η μόνη επιλογή για να λάβετε τη διαδρομή ρίζας του ιστότοπου. Ας ρίξουμε μια ματιά στο εγχειρίδιο: "Ο ριζικός κατάλογος του εγγράφου στον οποίο εκτελείται η τρέχουσα δέσμη ενεργειών είναι ακριβώς αυτός που καθορίζεται στο αρχείο διαμόρφωσης διακομιστή." . Αυτό σημαίνει ότι εάν η διαδρομή είναι γραμμένη εσφαλμένα στο αρχείο ρυθμίσεων, ολόκληρη η τοποθεσία δεν θα λειτουργήσει. Τι να κάνουμε; Μπορείτε να γράψετε στους διαχειριστές και τους κατόχους του hosting που φιλοξενεί τον διακομιστή με την ελπίδα ότι θα διορθώσουν τις ελλείψεις τους. Ή αναζητήστε μια σταθερή εναλλακτική, η οποία είναι __DIR__, αυτή είναι η απόλυτη διαδρομή προς το δεδομένο αρχείο όπου εκτελείται ο κώδικας. Ας υποθέσουμε ότι έχουμε ένα αρχείο διαμόρφωσης στο φάκελο config, και έτσι ώστε χρησιμοποιώντας __DIR__ να μην χρειάζεται να επιστρέφουμε έναν φάκελο στην κορυφή κάθε φορά γράφοντας __DIR__"/../" μπορούμε να γράψουμε με ασφάλεια __DIR__ στη μεταβλητή μας, στο παρακάτω παράδειγμα το έγραψα σε μια ιδιότητα τάξης (μάθημα Νο. 24 , ποιος δεν το κατάλαβε, χρησιμοποιήστε μια κανονική μεταβλητή):
Core::$ROOT = __DIR__; // Ή για παλιά PHP - dirname(__FILE__);
Ήθελα επίσης να σας υπενθυμίσω κάτι ενδιαφέρον και σημαντικό. Σύμφωνα με την ασφάλεια, ο διακομιστής ιστού απαγορεύει τη μετακίνηση μέσω καταλόγων πάνω από τη ρίζα του ιστότοπου. Δηλαδή, ο ιστότοπος βρίσκεται στην ακόλουθη διαδρομή: /home/school/public_html/schoolphp, αλλά τα περιεχόμενα των φακέλων /home ή /home/school δεν θα είναι διαθέσιμα για ανάγνωση.

Μπορεί η PHP να χρησιμοποιήσει διαδρομές HTML; Ναι, σε ειδικές λειτουργίες, για παράδειγμα:
file_get_contets("http://site");

Πρακτική

Στα παλιά μου έργα χρησιμοποιούσα το DOCUMENT_ROOT, τώρα άλλαξα σε σχετικές διαδρομές index.php "./folder/file".

Το Zend2, ένα προϊόν από προγραμματιστές PHP, ένα από τα πιο περίπλοκα FrameWork αυτή τη στιγμή χρησιμοποιεί επίσης σχετικές διαδρομές με διαφορετική σύνταξη από τη δική μου, δηλαδή "φάκελο/αρχείο".

Το φόρουμ IPB.3 χρησιμοποιεί dirname(__FILE__).

Συμπεράσματα:

1) Στην HTML χρησιμοποιούμε διαδρομές που σχετίζονται με τη ρίζα του ιστότοπου, δηλαδή "/file.php" (Η γραμμή ξεκινά με εγκοπή).
2) στην PHP χρησιμοποιούμε σε σχέση με το ριζικό αρχείο "./file.php" (Η γραμμή ξεκινά με τελεία και κάθετο), μια εναλλακτική θα ήταν η χρήση μιας ιδιότητας που έχει αρχικοποιηθεί στη ρίζα: __DIR__;
3) Η ανακατεύθυνση κεφαλίδας χρησιμοποιεί διαδρομές από HTML. Η PHP λειτουργεί με το σύστημα αρχείων (σύνδεση αρχείων, αποθήκευση και επεξεργασία εικόνων) - με διαδρομές PHP.

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

Λοιπόν, ας ξεκινήσουμε με τον ορισμό του ίδιου του όρου «μονοπάτι»:

Διαδρομή (Αγγλική διαδρομή) - ένα σύνολο χαρακτήρων που δείχνει τη θέση του αρχείου στο σύστημα αρχείων, τη διεύθυνση του καταλόγου.

Βικιπαίδεια

Αν μιλάμε για ιστότοπους, τότε η διαδρομή είναι ίδια με τη σύνδεση. Οι σύνδεσμοι μπορεί να είναι απόλυτοι ή σχετικοί. Ας δούμε και τις δύο επιλογές με περισσότερες λεπτομέρειες.

Τι είναι μια απόλυτη διαδρομή αρχείου

https://www.google.com/images/branding/googlelogo.png

Η απόλυτη διαδρομή μπορεί να χρησιμοποιηθεί σε CSS. Για παράδειγμα, για να ορίσετε μια εικόνα ως φόντο, μπορείτε να πάρετε την απόλυτη διεύθυνση URL στο αρχείο εικόνας ΚΑΙ να την καθορίσετε στο φύλλο στυλ:

Εικόνα φόντου: url(http://www.example.com/img/bg.png);

Τι είναι μια σχετική διαδρομή αρχείου

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

Εικόνα φόντου: url(/img/bg.png);

Πώς να προσδιορίσετε εύκολα τη σχετική διεύθυνση ρίζας; Απλώς πάρτε έναν απόλυτο σύνδεσμο και αφαιρέστε το πρωτόκολλο και το όνομα τομέα από αυτό, αφήνοντας την κάθετο και όλους τους χαρακτήρες που ακολουθούν.

Σχετική διαδρομή αρχείου από έγγραφοείναι η διαδρομή προς το αρχείο σε σχέση με το τρέχον έγγραφο. Αυτή η διεύθυνση εξαρτάται από τη θέση του αρχείου στο οποίο είναι γραμμένη. Έτσι, όταν ένας σχετικός σύνδεσμος καθορίζεται σε ένα φύλλο στυλ, υπολογίζει τη διαδρομή του αρχείου με βάση το φύλλο στυλ και όχι την τρέχουσα ιστοσελίδα ή τον ριζικό φάκελο. Ας δώσουμε μερικά παραδείγματα.

Παράδειγμα Ι

Εάν το φύλλο στυλ style.css και το αρχείο εικόνας φόντου bg.png βρίσκονται στον ίδιο φάκελο (όχι απαραίτητα στη ρίζα), τότε η σχετική διαδρομή από τον πίνακα προς την εικόνα θα μοιάζει με αυτό:

Εικόνα φόντου: url(bg.png); /* απλά γράφεις το όνομα του αρχείου */

Παράδειγμα II

Εάν το φύλλο στυλ βρίσκεται στη ρίζα και η εικόνα στον φάκελο img, ο σχετικός σύνδεσμος θα είναι αυτός:

Εικόνα φόντου: url(img/bg.png); /* δεν χρειάζεται για κάθετο πρώτο */

Παράδειγμα III

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

Εικόνα φόντου: url(../bg.png); /* δύο τελείες - ανέβα ένα επίπεδο */

Παράδειγμα IV

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

Εικόνα φόντου: url(../../bg.png); /* ανεβείτε δύο επίπεδα */

Δύο κουκκίδες και μια κάθετο στην αρχή της σχετικής διαδρομής σημαίνουν ανεβείτε ένα επίπεδο. Ανάλογα με τον αριθμό των επιπέδων (καταλόγων) στα οποία πρέπει να ανεβείτε, πρέπει να εισαγάγετε τον απαιτούμενο αριθμό κουκκίδων με κάθετες. Για παράδειγμα, εάν το φύλλο στυλ δεν βρίσκεται σε δύο, αλλά σε τέσσερις φακέλους, η καταχώρηση, κατά συνέπεια, θα είναι η εξής:

Εικόνα φόντου: url(../../../../bg.png);

Στην περίπτωση που η εικόνα είναι κρυμμένη στο φάκελο img και το φύλλο στυλ είναι κρυμμένο στο φάκελο css, θα χρειαστεί να βγείτε από το φάκελο css και να μεταβείτε στον φάκελο img. Τοιουτοτροπώς:

Εικόνα φόντου: url(../img/bg.png);

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

Εικόνα φόντου: url(../img/backgrounds/bg.png);

Ποιος τρόπος είναι καλύτερο να χρησιμοποιήσετε

Διεύθυνση απόλυτου συνδέσμουΘα χρειαστεί να το χρησιμοποιήσετε εάν το αρχείο στο οποίο συνδέεστε βρίσκεται σε άλλο ιστότοπο. Μέσα σε έναν ιστότοπο, η απόλυτη διαδρομή πρακτικά δεν χρησιμοποιείται (αν και θα λειτουργήσει). Αυτό οφείλεται σε πολλά σημεία: πρώτον, τέτοιοι σύνδεσμοι μπορεί να είναι πολύ δυσκίνητοι και δεύτερον, εάν αλλάξει το όνομα τομέα, θα προκύψει πρόβλημα - όλοι οι σύνδεσμοι θα οδηγήσουν στον παλιό τομέα, ο οποίος μπορεί να οδηγήσει σε πολλά σφάλματα και κατεστραμμένους συνδέσμους.

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

Σχετική διαδρομή από το έγγραφο- η καλύτερη επιλογή για ανάπτυξη ιστού σε τοπικό μηχάνημα χωρίς χρήση διακομιστή. Στο πρόγραμμα περιήγησης, θα μπορείτε να βλέπετε ιστοσελίδες που είναι αποθηκευμένες στον υπολογιστή σας κανονικά και οι διευθύνσεις αρχείων θα λειτουργούν. Θα λειτουργήσουν σε μια ζωντανή τοποθεσία, αλλά με έναν όρο - εάν δεν μετακινήσετε το φύλλο στυλ σε άλλο μέρος (διαφορετικά θα πρέπει να προσαρμόσετε τις διαδρομές).

Δοκιμάστε να εξασκηθείτε χρησιμοποιώντας σχετικές διαδρομές τόσο στον τοπικό σας υπολογιστή όσο και στον διακομιστή ιστού σας. Η κατανόηση του πώς λειτουργεί αυτό σίγουρα θα σας φανεί χρήσιμο σε οποιοδήποτε έργο.

Περαιτέρω στο σεμινάριο:Ιδιότητα επανάληψης φόντου - ελέγχει την επανάληψη της εικόνας φόντου.

Η διεύθυνση του συνδέσμου μπορεί να είναι είτε απόλυτη είτε σχετική. Οι απόλυτες διευθύνσεις πρέπει να ξεκινούν με το πρωτόκολλο (συνήθως http://) και να περιέχουν το όνομα του ιστότοπου.

Οι σχετικοί σύνδεσμοι βασίζονται στη ρίζα του ιστότοπου ή στο τρέχον έγγραφο.

Το Παράδειγμα 8.2 δείχνει πώς να δημιουργήσετε έναν απόλυτο σύνδεσμο προς έναν άλλο ιστότοπο.

Παράδειγμα 8.2. Χρησιμοποιώντας απόλυτες αναφορές

Απόλυτη διεύθυνση



Εκμάθηση HTML Όταν καθορίζετε τον κατάλογο τοποθεσίας ως σύνδεσμο (για παράδειγμα, http://site/css/), εμφανίζεταιαρχείο ευρετηρίου

. Αυτό είναι το αρχείο που φορτώνεται από προεπιλογή κατά την πρόσβαση σε έναν κατάλογο χωρίς να προσδιορίζεται ρητά το όνομα του αρχείου. Συνήθως το αρχείο ευρετηρίου είναι ένα έγγραφο με το όνομα index.html. Οι απόλυτοι σύνδεσμοι χρησιμοποιούνται συνήθως για να υποδείξουν ένα έγγραφο σε άλλο πόρο δικτύου, ωστόσο, επιτρέπεταιαπόλυτους συνδέσμους

και μέσα στην τρέχουσα τοποθεσία.

Ωστόσο, αυτό δεν εφαρμόζεται συχνά, καθώς τέτοιοι σύνδεσμοι είναι αρκετά μεγάλοι και δυσκίνητοι. Ως εκ τούτου, οι σχετικοί σύνδεσμοι χρησιμοποιούνται κυρίως εντός του ιστότοπου. Σύνδεσμοι σε σχέση με το τρέχον έγγραφοΠρέπει να καταλάβετε ποια τιμή πρέπει να καθορίσετε για το χαρακτηριστικό href, καθώς εξαρτάται από την αρχική θέση των αρχείων.

Ας δούμε μερικές τυπικές επιλογές.

1. Τα αρχεία βρίσκονται σε έναν φάκελο (Εικ. 8.4).

Αυτό το όνομα αρχείου λαμβάνεται μόνο ως δείγμα στον ιστότοπο, οι ρωσικοί χαρακτήρες με κενά δεν πρέπει να χρησιμοποιούνται στα ονόματα αρχείων, ακόμη και σε διαφορετικές περιπτώσεις. 2. Τα αρχεία βρίσκονται στοδιαφορετικούς φακέλους

(Εικ. 8.5). Οτανπρωτότυπο έγγραφο

αποθηκεύεται σε έναν φάκελο και ο σύνδεσμος βρίσκεται στη ρίζα του ιστότοπου, στη συνέχεια πριν από το όνομα του αρχείου στη διεύθυνση του συνδέσμου θα πρέπει να βάλετε δύο τελείες και μια κάθετο (/), όπως φαίνεται παρακάτω. Δύο σημεία μέσασε αυτή την περίπτωση εννοώ να βγω έξωτρέχον φάκελο

ένα επίπεδο ψηλότερα.

3. Τα αρχεία τοποθετούνται σε διαφορετικούς φακέλους (Εικ. 8.6). Τώρααρχείο προέλευσης

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

Σύνδεσμος

Η κατάσταση είναι παρόμοια με οποιονδήποτε αριθμό υποφακέλων.

4. Τα αρχεία τοποθετούνται σε διαφορετικούς φακέλους (Εικ. 8.7).

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

Τώρα η κατάσταση αλλάζει, το αρχείο προέλευσης βρίσκεται στη ρίζα του ιστότοπου και το αρχείο στο οποίο πρέπει να συνδεθείτε βρίσκεται στο φάκελο. Σε αυτήν την περίπτωση, η διαδρομή προς το αρχείο θα είναι η εξής. Σημειώστε ότι δεν υπάρχουνεπιπλέον σημεία

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

και δεν υπάρχουν κάθετες πριν από το όνομα του φακέλου.

Εάν το αρχείο βρίσκεται μέσα όχι σε έναν, αλλά σε δύο φακέλους, τότε η διαδρομή προς αυτό γράφεται ως εξής. Σύνδεσμοι σχετικά με τη ρίζα του ιστότοπουΜερικές φορές μπορείτε να βρείτε τη διαδρομή προς το αρχείο σε σχέση με τη ρίζα του ιστότοπου, όπως φαίνεται "/Folder/Όνομα αρχείου"με κάθετο στην αρχή. Ναι, ηχογραφήστε

Μαθήματα σημαίνει ότι ο σύνδεσμος οδηγεί σε έναν φάκελο με το όνομα course, ο οποίος βρίσκεται στη ρίζα του ιστότοπου και σε αυτόν πρέπει να κάνετε λήψη του αρχείου ευρετηρίου.Λάβετε υπόψη ότι αυτή η μορφή καταχώρισης δεν λειτουργεί

τοπικός υπολογιστής

, αλλά μόνο υπό τον έλεγχο ενός διακομιστή web. 01/11/07 44,5Κ
Όπως γνωρίζετε, στην παράμετρο href της ετικέτας

() πρέπει να καθορίσετε τη διαδρομή προς το αρχείο στο οποίο αναφέρεται. Πολλοί άνθρωποι γράφουν κάτι σαν http://somesite.ru/catalog/doc.html. Ναι, κανείς δεν διαφωνεί, λειτουργεί. Υπάρχει όμως ένα «αλλά». Ας δούμε ένα παράδειγμα.
Αφήστε τον ιστότοπό σας να φιλοξενείται, για παράδειγμα, σε κάποιους
δωρεάν φιλοξενία και η διεύθυνσή του ήταν η εξής: http://fsite.freehosting.ru.
Υπάρχουν περίπου 100 έγγραφα στον διακομιστή. Και έτσι αποφασίζετε να μετακινήσετε τον ιστότοπό σας σε άλλο τομέα,
Ας υποθέσουμε ότι πριν ανεβάσετε μια σελίδα στον διακομιστή, ελέγχετε τη λειτουργικότητά της
στον οικιακό σας διακομιστή apache (για όσους δεν ξέρουν ακόμα τι "
οικιακός διακομιστής" — εδώ (Εγκατάσταση και διαμόρφωση διακομιστής apache), και αντί για http://localhost θα χρειαστεί να γράψετε http://site.ru παντού. Συμφωνώ αυτό, από τουλάχιστον, άβολο.

Η λύση είναι, όταν καθορίζετε τη διαδρομή προς ένα αρχείο, να λαμβάνετε υπόψη όχι τη θέση του στον ιστότοπο, αλλά τη θέση του στον διακομιστή.

Απόλυτη διαδρομή

Ας πάρουμε, για παράδειγμα, το αρχείο doc.html, το οποίο βρίσκεται στη διεύθυνση: http://somesite.ru/catalog/doc.html. Στον διακομιστή, όπως γνωρίζετε, υπάρχει ένας φάκελος www. Όπως μπορούμε να δούμε από τη διεύθυνση, αυτός ο φάκελος περιέχει τον φάκελο του καταλόγου και περιέχει ήδη το αρχείο doc.html.

Εάν, κατά τον καθορισμό της διαδρομής προς ένα αρχείο, βάλετε / πριν από τη διεύθυνση, τότε θα είναι παρόμοια με την εξής: root_directory_in_the_north/www/path στο αρχείο.
Δηλαδή, το http://somesite.ru/catalog/doc.html είναι παρόμοιο με το ακόλουθο: /catalog/doc.html.
Έτσι, όταν υπάρχει ένα / μπροστά από τη διεύθυνση, σημαίνει ότι η «αντίστροφη μέτρηση» ξεκινά από τον κατάλογο www.
Τώρα, αντί για http://localhost/index.html, μπορείτε να γράψετε /index.html από οποιοδήποτε έγγραφο.
Αλλά για να φτάσετε στον κατάλογο cgi πρέπει να γράψετε ως εξής: /cgi-bin/path to the file.

Οι διαδρομές που δημιουργούνται χρησιμοποιώντας τις μεθόδους που περιγράφονται παραπάνω ονομάζονται απόλυτες, επειδή υποδεικνύεται η απόλυτη (πλήρης) διαδρομή προς το αρχείο στον διακομιστή.

Σχετική διαδρομή

Υπάρχουν επίσης σχετικές διαδρομές, οι οποίες καθορίζονται σε σχέση με το ίδιο το έγγραφο από το οποίο προέρχεται ο σύνδεσμος.
Για παράδειγμα, εάν δημιουργήσετε έναν σύνδεσμο στο doc.html newcat/new.html, αυτό σημαίνει ότι το αρχείο new.html βρίσκεται στον κατάλογο newcat, ο οποίος, με τη σειρά του, βρίσκεται στον ίδιο κατάλογο με το αρχείο doc.html. Όπως μπορείτε να δείτε, αυτή η διαδρομή είναι σχετική με το αρχείο doc.html. Όπου κι αν βρίσκεται αυτό το αρχείο, η διαδρομή newcat/new.html θα είναι πάντα έγκυρη εάν το αρχείο doc.html και ο κατάλογος newcat βρίσκονται στο ίδιο επίπεδο (δηλαδή στον ίδιο κατάλογο).

Μπορείτε επίσης να μετακινήσετε έναν κατάλογο σε σχέση με ένα έγγραφο. Για να γίνει αυτό πρέπει να γράψετε ../.
Για παράδειγμα, υπάρχει ένας μεγάλος κατάλογος, περιέχει δύο καταλόγους: πρωτεύον και δευτερεύον. Ο κύριος κατάλογος περιέχει το ήδη γνωστό αρχείο doc.html. και στον δευτερεύοντα κατάλογο υπάρχει ένα αρχείο new.html. Για να δημιουργήσετε έναν σύνδεσμο από το αρχείο doc.html στο αρχείο new.html, πρέπει να γράψετε ../secondary/new.html. Αλλά εάν ο μεγάλος κατάλογος βρίσκεται στον κατάλογο www, τότε η διαδρομή προς το αρχείο new.html θα μπορούσε να καθοριστεί ως εξής: /big/secondary/new.html



Συνιστούμε να διαβάσετε

Κορυφή