Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Γεια και παλι

 

Κατι πολύ περιεργο συμβαινει κ εγω είμαι ένα απλο script kiddie και μπερδευομαι.

 

Εχω ένα σαιτ με url τυπου

http://onoma.alloonoma.alloonoma.gr/fakelos/index.php

αν μπω εκει το σαιτ φαινετε κανονικα

 

Αν μπω εδώ όμως

http://onoma.alloonoma.alloonoma.gr/fakelos/index.php/

(η μονη διαφορα είναι ένα επιπλέον / στο τελος !)

 

το σαιτ φορτωνει χωρις css  και με λαθη στη κονσολα

 

Να δωσω τωρα πληροφοριες αν σας βοηθάνε

 

"Μπροστα" από τον δικο μου σερβερ που τρεχει απατσι είναι ενας nginx

 

Τα λαθη είναι αυτά

File: swfobject.js, Line: 1, Column: 2
File: web_socket.js, Line: 1, Column: 2
File: jquery-1.8.2.min.js, Line: 1, Column: 2
File: modernizr-custom.js, Line: 1, Column: 2
File: polyfiller.js, Line: 1, Column: 2
File: map.php, Line: 47, Column: 4

Τα 2 πρωτα είναι βιβλιοθήκες για fallback σε websockets.

 

Το τελευταιο αναφερετε εδώ

<script src="js-webshim/minified/extras/modernizr-custom.js"></script> 
  <script src="js-webshim/minified/polyfiller.js"></script> 
  <script>  
      $.webshims.polyfill(); // <---ΣΕ ΑΥΤΗ ΤΗ ΓΡΑΜΜΗ

αλλα αυτή είναι η default  συνταξη για να "ενεργοποιήσεις" το polyfiller που είναι για fallback σε elements της html5. Αυτες οι βιβλιοθήκες είναι Cross-browser και δοκιμασμένες

 

Επισης

 

Σημερα ο συνάδελφος πειραξε το client_max_body_size του nginx.conf και το ανεβασε στα 100ΜΒ για να αναιβενουν πιο μεγαλα αρχεια. Αντιστοιχα και γω ανεβασα τις τιμες των memory_limit, upload_max_filesize και post_max_size του php.ini στον δικο μου σερβερ.

 

 

Δεν εχω ξαναδει κατι τετοιο και δε ξερω πως να το φτιαξω. Ουτε τι φταιει. Ένα / διαφορα να τα σπαει όλα.

Καμια ιδεα?

 

 

 

 

 

Δημοσ.

Το slash υποδηλώνει διαδρομή υποφακέλου.

Έχεις υποφάκελο με όνομα index.php μέσα στον φακελο folder ;

Αν οχι τοτε είναι λογικό να μη δουλέψει σωστα γιατί με το slash προσπαθείς να ορισεις το αρχείο index.php (το οποιο ειναι text αρχειο) ως φάκελο.

Αν ναι, τοτε μεσα στον υποφακελο index.php εχεις κατάλληλο αρχείο index.php/index.htm το οποιο φορτώνει σωστα τα relative paths για τα αντιστοιχα css/js/κλπ;

 

Για οτι δεν καταλαβαίνεις, ρωτας

Δημοσ.

Λογικο, αυτό που λες, καταλαβα.

 

Όχι, δεν έχω υποφάκελο με όνομα index.php μέσα στον φακελο folder.  

 

Μια λυση που βρηκα (δε θυμαμαι πλεον που, μετα από τοσο ψαξιμο), είναι να βαλω hardwire τα αρχεια της js και τα css δηλαδή

 <script src="http://onoma.alloonma.alloonoma.gr/fakelos/jquery-1.8.2.min.js"></script> 

<link href="http://onoma.alloonma.alloonoma.gr/fakelos/awesome.css" rel="stylesheet" type="text/css" /> 

Φορτωνει σωστα το σαιτ, ειτε με / στο τελος του URL ειτε οχι, αλλα οι εικονες του css δεν φαινονται. Πρεπει να τις περασεις κ αυτές hardwire? Παει πολύ. Ασχετα πως το hardwire δεν είναι κ τοσο καλη πρακτική.

 

Οποτε η ερωτηση μ είναι τελικα, πως το σταματαω αυτό?

 

Όπως ετυχε και σε μενα να προστεθει ένα / , μπορει να τυχει κ στον τελικο χρηστη. Οποτε πως μπορω να το σταματήσω να φορτωνει λαθος? Πρεπει να αποκτησει ονομα του τυπου

http://kordoni.com/index

? Δεν το βλεπω συντομα αυτό, με τα προβλήματα που παιζουν στο δικτυο των από πανω δε νομιζω να μου περασουν τωρα συντομα τετοιο ονομα. Μαλλον θα δωθει "στη κυκλοφορια" με 100 subdomains. Τι κανουμε τωρα?

 

Ευχαριστω

Δημοσ.

Πρέπει να μάθεις και καταλάβεις τη διαφορά του absolute path ενος αρχείου και του relative path. 

 

Αν π.χ. η δομή του site σου ειναι

subdomain.domain /

html-php στο /arxeia/  (εστω αρχειο lista.html)

css-js στο /scripts/ (εστω script jquery-1.8.2.min.js )

και εικονες στο /images/ (εστω εικόνα img01.gif )

 

<img href="../images/img01.gif">
 
και το script το δηλώνεις 
<script src="../scripts/jquery-1.8.2.min.js"></script>
 

 

τοτε οταν μεσα στο αρχειο lista.html θες να ενταξεις την εικονα εικονα τη δηλώνεις 

 

Με αυτό τον τρόπο ακόμα κι αν αλλάξεις domain-subdomain-subsubdomain τα αρχεια θα φαινονται κανονικα, χωρις να χρειαστεί να αλλάξεις ολα σου τα αρχεια.

Hardwire (δηλαδη με absolute path) χρησιμοποιείς πολύ σπάνια

 

Υπάρχουν κι αλλα κόλπα, αλλά το παραπανω ειναι για να καταλαβεις

Δημοσ.

ΟΚ αλλα εγω προς το παρων εχω τα παντα στον φακελο foleder (και το Lista.html και το  jquery-1.8.2.min.js και το img01.gif)

 

Αν βαλω

<img href="..images/img01.gif">

και το URL εχει / στο τελος, παλι δε φορτωνει σωστα. Υπαρχει καποια άλλη συνταξη, ή πρεπει να τα χωρισω όλα σε υποφακελους?

Δημοσ.

Το / στη διεύθυνση της ιστοσελίδας το βάζεις στο τέλος ΜΟΝΟ ΑΝ ΑΥΤΟ ΠΟΥ ΕΙΝΑΙ ΠΡΙΝ ΤΟ / ειναι φακελος. Μην επαναλαμβανόμαστε και μην μπερδεύεσαι με το παρακατω

 

Αφου ολα τα αρχεια τα εχεις μαζι (εικονες, scripts, html) τοτε δεν χρειάζεται να δειξεις που ειναι ο φακελος.

Μεσα στον κωδικα της lista.html θα γράφεις

 

 
<img href="img01.gif">
 
και το script το δηλώνεις 
<script src="jquery-1.8.2.min.js"></script>
Δημοσ.

Ναι ρε συ, οκ αυτό το καταλαβα. Και για το url και για το πως δηλωνεις εικονες και εξωτερικα αρχεια.

 

Αυτό που ρωταω είναι το εξης : υπαρχει καποιος τροπος, αν πατηθεί ένα εξτρα / στο τελος του url (κατά λαθος), να συνεχισει να φορτωνει κανονικα το σαιτ?  Γαιτι και γω καταλαθος πατησα / στο τελος και είδα "σπασμενο" το σαιτ και νομιζα ότι φταιει κατι άλλο.

  • 3 μήνες μετά...
Δημοσ.

Μια και το θυμηθηκα,επειδη εχω καιρο να μπω, να πω οτι τη κατασταση εσωσε ενας συμφοιτητης που εκανε πηγε στο httpd του apache και εβαλε στο τελος αυτο

<IfModule rewrite_module>
  RewriteEngine on
  #RewriteBase /
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_URI} /$
  RewriteRule (.*)/ $1 [R=301,L]
</IfModule>

Τωρα ολα παιζουν μια χαρα. Νομιζω ειναι γενικο και μπορει να χρησιμοποιηθει για ολους τους apache. Δεν εχω τσεκαρει ακομα τη λογικη του , αλλα το βαζω για να βοηθηθουν κ αλλοι με παρομοιο προβλημα. 

  • Like 1

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...