CreedChronicles Δημοσ. 11 Ιουλίου 2023 Δημοσ. 11 Ιουλίου 2023 έχω δημιουργήσει σε php ένα αρχείο που δημιουργεί σελίδες(addpage.php) εκεί παίρνει τον τίτλο που δίνει ο χρήστης στην σελίδα και τον κάνει link $slug = generateSlug($title_en); $slugURL = 'http://localhost/cms/' . $slug; μετά έχω δημιουργήσει ένα αρχείο insidepage.php που τραβάει το slug(έτσι ονόμασα και την στήλη στον πίνακα στην βάση) και εμφανίζει το περιεχόμενο της σελίδας if (isset($_GET['slug'])) { $slug = $_GET['slug']; // Αναζήτηση της σελίδας με βάση το slug $sql = "SELECT * FROM pages WHERE slug = '$slug'"; $result = $conn->query($sql); επίσης με λίγο google search βρήκα ότι έπρεπε να δημιουργήσω και το .htaccess RewriteEngine On RewriteBase /cms/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ insidepage.php?slug=$1 [L,QSA] το θέμα είναι πως όταν γράφω το http://localhost/cms/page-two δεν μου εμφανίζει το περιεχόμενο της που είναι αποθηκευμένο στην βάση καμιά ιδέα του τι μπορεί να φταίει??
node7 Δημοσ. 11 Ιουλίου 2023 Δημοσ. 11 Ιουλίου 2023 Κοίταξε αν το mod_rewrite ειναι απενεργοποιημένο.
CreedChronicles Δημοσ. 12 Ιουλίου 2023 Μέλος Δημοσ. 12 Ιουλίου 2023 (επεξεργασμένο) 15 ώρες πριν, node7 είπε Κοίταξε αν το mod_rewrite ειναι απενεργοποιημένο. το έψαξα μετά την ανάρτηση σου και άπο ότι κατάλαβα έπρεπε να αφαιρέσω την # από το LoadModule rewrite_module modules/mod_rewrite.so αλλά όταν το βρήκα στο httpd.conf στον φάκελο C:\xampp\apache\conf δεν είχε # οπότε υποθέτω είναι ενεργοποιημένο(είναι ακριβώς έτσι LoadModule rewrite_module modules/mod_rewrite.so). Θα μπορούσες να είναι κάτι άλλο?? edit εαν μπορείς τσέκαρε το παρακάτω στο addpage.php έχω το εξής $slug = generateSlug($title_en); $slugURL = 'http://localhost/cms/' . $slug; στο insidepage.php έχω το εξής if (isset($_GET['slug'])) { $slug = $_GET['slug']; όταν στο insidepage.php πρόσθεσα το echo $slug; μου εμφάνισε αυτό που αποθηκεύετε εδώ $slug = generateSlug($title_en);(δηλαδή page two) έχω κάνει ή καταλάβει κάτι λάθος??? Επεξ/σία 12 Ιουλίου 2023 από CreedChronicles
node7 Δημοσ. 12 Ιουλίου 2023 Δημοσ. 12 Ιουλίου 2023 Απ' ότι καταλαβαίνω το rewrite δουλεύει. Μήπως να κάνεις ένα redirect στη σελίδα που θες; header('Location:'. $slugURL); die(); Ισως και να κοιτάξεις ξανά τον κανόνα στο .htaccess, γιατί φαίνεται πολύ γενικός. Εννοώ αυτή τη γραμμή: RewriteRule ^(.*)$ insidepage.php?slug=$1 [L,QSA] Κοίταξε και το rewritemap.
CreedChronicles Δημοσ. 12 Ιουλίου 2023 Μέλος Δημοσ. 12 Ιουλίου 2023 5 λεπτά πριν, node7 είπε Απ' ότι καταλαβαίνω το rewrite δουλεύει. Μήπως να κάνεις ένα redirect στη σελίδα που θες; header('Location:'. $slugURL); die(); Ισως και να κοιτάξεις ξανά τον κανόνα στο .htaccess, γιατί φαίνεται πολύ γενικός. Εννοώ αυτή τη γραμμή: RewriteRule ^(.*)$ insidepage.php?slug=$1 [L,QSA] Κοίταξε και το rewritemap. πριν λίγο δοκίμασα να αλλάξω στο httpd.conf από <Directory /> AllowOverride none Require all denied </Directory> το έκανα <Directory "C:/xampp/htdocs/cms"> AllowOverride All Require all granted </Directory> αλλά τίποτα τώρα θα δοκιμάσω αυτό που μου είπες και θα επανέλθω 13 λεπτά πριν, node7 είπε Απ' ότι καταλαβαίνω το rewrite δουλεύει. Μήπως να κάνεις ένα redirect στη σελίδα που θες; header('Location:'. $slugURL); die(); Ισως και να κοιτάξεις ξανά τον κανόνα στο .htaccess, γιατί φαίνεται πολύ γενικός. Εννοώ αυτή τη γραμμή: RewriteRule ^(.*)$ insidepage.php?slug=$1 [L,QSA] Κοίταξε και το rewritemap. δοκίμασα αυτό αλλά το ίδιο if (isset($_GET['slug'])) { $slug = $_GET['slug']; $slugURL = 'http://localhost/cms/' . $slug; header('Location: '. $slugURL); μήπως φταίει ότι δεν έχω ένα αρχείο index.php και τα κάνει όλα στο inside.php?? επίσης στο C:\xampp\apache\logs στο error δεν εμφανίζει κάποιο σφάλμα
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα