rewrite πρόβλημα με .htaccess

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
txc
Δημοσιεύσεις: 626
Εγγραφή: 02 Δεκ 2003 23:08

rewrite πρόβλημα με .htaccess

Δημοσίευση από txc » 18 Μάιος 2016 00:06

Καλησπέρα παιδιά,
έχω δυναμικά links της μορφής :

show_more.php?c=4&cat_name=test&main_catname=test2

όπου οι μεταβλητές c,cat_name Και main_catname παίρνουν δυναμικά τιμές και στην αντίστοιχη σελίδα παίρνω με get τις τιμές

εφαρμόζω τα παρακάτω στο αρχείο .htaccess για να έχω πιο φιλικό url αλλά χωρίς αποτέλεσμα, καμιά ιδέα?

Κώδικας: Επιλογή όλων

Options +FollowSymLinks
RewriteEngine on
RewriteRule mydata1 show_more.php?c=$1&cat_name=$2&main_catname=$3
RewriteRule mydata1 show_more.php?c=$1&cat_name=$2&main_catname=$3				
				

Άβαταρ μέλους
nikpe80
Δημοσιεύσεις: 35
Εγγραφή: 22 Ιουν 2015 21:39
Τοποθεσία: Αθήνα

rewrite πρόβλημα με .htaccess

Δημοσίευση από nikpe80 » 19 Μάιος 2016 22:03

Καλησπερα!

Για δοκιμασε:

Κώδικας: Επιλογή όλων

RewriteRule ^mplampla/([0-9]+)/([^/]+)/([^/]+)/?$ show_more.php?c=$1&cat_name=$2&main_catname=$3 [L]
Αρα με αυτο το παραδειγμα, θα εχεις προσβαση απο

Κώδικας: Επιλογή όλων

δομαιν.com/mplampla/4/test/test2/
Οποτε κατι αντιστοιχο κανεις για το δικο σου.
Εικόνα

txc
Δημοσιεύσεις: 626
Εγγραφή: 02 Δεκ 2003 23:08

rewrite πρόβλημα με .htaccess

Δημοσίευση από txc » 25 Μάιος 2016 22:54

τελικά το άλλαξα έτσι το url

Κώδικας: Επιλογή όλων

Options +FollowSymLinks 
RewriteEngine on 
RewriteRule ^productname/([0-9]+)/?$ show_product_categories.php?c=$4 [L]
έκοψα τις πολλές μεταβλητές και το άφησα μόνο με τη c

αλλά δε παίζει, βλέπεις κάτι λάθος?

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

rewrite πρόβλημα με .htaccess

Δημοσίευση από gvre » 26 Μάιος 2016 10:24

txc έγραψε:τελικά το άλλαξα έτσι το url

Κώδικας: Επιλογή όλων

Options +FollowSymLinks 
RewriteEngine on 
RewriteRule ^productname/([0-9]+)/?$ show_product_categories.php?c=$4 [L]
έκοψα τις πολλές μεταβλητές και το άφησα μόνο με τη c

αλλά δε παίζει, βλέπεις κάτι λάθος?
Δες εδώ πώς θα χρησιμοποιήσεις σωστά τα backreferences. Μετά, φτιάξε ένα rule που θα τα στέλνει όλα σε έναν handler (πχ. index.php) και κάνε εκεί το parsing του url.

txc
Δημοσιεύσεις: 626
Εγγραφή: 02 Δεκ 2003 23:08

rewrite πρόβλημα με .htaccess

Δημοσίευση από txc » 02 Ιούλ 2016 16:06

με τις παρακάτω αλλαγές έπεξε μια χαρά :

Κώδικας: Επιλογή όλων

AddType x-httpd-php54 .php

#Options +FollowSymLinks 
#RewriteEngine on 
#RewriteRule ^τεστ/?$ categories.php?c=$4 [NC,L]

Options +FollowSymLinks
RewriteEngine On
 
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f

RewriteRule ^τεστ/(\d+)*$ ./categories.php?c=4
RewriteRule ^τεστ(\d+)*$ ./categories.php?c=4
το πρόβλημα ότι το τεστ δε παίζει ,βγάζει error :
The requested URL /καφές-φίλτρου was not found on this server.

και το url ενώ εμφανίζεται κανονικά :
www.test.gr/τεστ αν το κάνεις copy paste βγαίνει αυτό :

www.test-b2b.gr/%CE%BA%CE%B1%CF%86%CE%A ... E%BF%CF%85

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

rewrite πρόβλημα με .htaccess

Δημοσίευση από gvre » 02 Ιούλ 2016 16:32

Λες ότι έπαιξε μια χαρά. Δηλαδή, το παρακάτω τί ακριβώς περιμένεις να κάνει;

Κώδικας: Επιλογή όλων

RewriteRule ^τεστ/(\d+)*$ ./categories.php?c=4 
RewriteRule ^τεστ(\d+)*$ ./categories.php?c=4 
ps1. Αν θέλεις να το κάνεις να παίζει όπως πρέπει, δες τί σου έγραψα στο http://www.freestuff.gr/forums/viewtopi ... 032#611032
ps2. Μη χρησιμοποιείς ελληνικά στα urls. Δε σου προσφέρουν τίποτα ουσιαστικό.

txc
Δημοσιεύσεις: 626
Εγγραφή: 02 Δεκ 2003 23:08

rewrite πρόβλημα με .htaccess

Δημοσίευση από txc » 02 Ιούλ 2016 19:11

εννοούσα ότι έπεξε μια χαρά με αγγλικούς χαρακτήρες
ουσιαστικά για πιο seo friendly url κάνω αυτές τις αλλαγές

αυτό που θέλω να κάνω είναι όταν ο χρήστης επιλέξει μια κατηγορία οπότε θα κληθεί η categories.php?c=4 τώρα να καλείται και να αντικατίθασταται το url με το test

δηλαδή αν είχα παλιά :
www.test.gr/categories.php?c=4
να το κάνω www.test.gr/test

με λατινικούς χαρακτήρες δουλεύει κανονικά, αν βάλω ελληνικούς εμφανίζει
404 not found, και μέσα στη σελίδα The requested URL /καφές-φίλτρου was not found on this server.

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

rewrite πρόβλημα με .htaccess

Δημοσίευση από korgr » 03 Ιούλ 2016 11:06

gvre έγραψε: ps2. Μη χρησιμοποιείς ελληνικά στα urls. Δε σου προσφέρουν τίποτα ουσιαστικό.
+1

txc
Δημοσιεύσεις: 626
Εγγραφή: 02 Δεκ 2003 23:08

rewrite πρόβλημα με .htaccess

Δημοσίευση από txc » 03 Ιούλ 2016 23:01

ας υποθέσουμε ότι ήθελα, θα έπρεπε να κάνω urldecode?

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

rewrite πρόβλημα με .htaccess

Δημοσίευση από gvre » 04 Ιούλ 2016 11:28

txc έγραψε:εννοούσα ότι έπεξε μια χαρά με αγγλικούς χαρακτήρες
ουσιαστικά για πιο seo friendly url κάνω αυτές τις αλλαγές

αυτό που θέλω να κάνω είναι όταν ο χρήστης επιλέξει μια κατηγορία οπότε θα κληθεί η categories.php?c=4 τώρα να καλείται και να αντικατίθασταται το url με το test

δηλαδή αν είχα παλιά :
www.test.gr/categories.php?c=4
να το κάνω www.test.gr/test
Πόσες κατηγορίες έχεις;
Έχεις υποκατηγορίες; Αν ναι, πώς θα δομήσεις τα urls τους; /cat1/subcat1/subcat2 ή /subcat2;
Ποια θα είναι η δομή για τις σελίδες περιεχομένου; Υποστηρίζεις αντιστοίχιση περιεχομένου σε μία ή σε πολλές κατηγορίες; Δηλαδή, ένα περιεχόμενο μπορεί να ανήκει σε πολλές κατηγορίες;
Έχεις περιεχόμενο που δεν ανήκει σε κάποια κατηγορία;

txc
Δημοσιεύσεις: 626
Εγγραφή: 02 Δεκ 2003 23:08

rewrite πρόβλημα με .htaccess

Δημοσίευση από txc » 04 Ιούλ 2016 11:42

βασικά έχω μόνο κατηγορίες και η κάθε κατηγορία έχει ένα περιεχόμενο


οπότε με βολεύει να τις καταχωρήσω όπως είχα στο παραπάνω κώδικα το οποίο παίζει με λατινικούς χαρακτήρες
το θέμα είναι αν αξίζει να ασχοληθώ με τα ελληνικά url ή να τα γυρίσω σε greeklish

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

rewrite πρόβλημα με .htaccess

Δημοσίευση από gvre » 04 Ιούλ 2016 14:41

Δηλαδή, όλο το site έχει μόνο βασικές κατηγορίες και άρθρα σε αυτές; Δεν υπάρχει περίπτωση κάποια στιγμή να έχεις υποκατηγορίες ή άρθρα που δεν ανήκουν σε κάποια κατηγορία;

txc
Δημοσιεύσεις: 626
Εγγραφή: 02 Δεκ 2003 23:08

rewrite πρόβλημα με .htaccess

Δημοσίευση από txc » 04 Ιούλ 2016 19:31

σωστά, δεν υπάρχουν υποκατηγορίες

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

rewrite πρόβλημα με .htaccess

Δημοσίευση από gvre » 04 Ιούλ 2016 21:23

Κώδικας: Επιλογή όλων

RewriteRule ^([\w-]+)/([\w-]+)\.html$ http://mydomain.gr/items.php?cat=$1&item=$2 [L]
Αυτό θα δουλέψει για τα urls τύπου /category/item.html. Στο items.php διαβάζεις τα cat και item μέσω του $_GET, κάνεις ένα query στη βάση και τραβάς το αντίστοιχο άρθρο. Φυσικά, κάπου στη βάση θα πρέπει να αποθηκεύεις το slug (SEO url keyword), βάσει του οποίου θα κάνεις την αναζήτηση.

Κώδικας: Επιλογή όλων

RewriteRule ^([\w-]+)/?$ http://mydomain.gr/categories.php?cat=$1 [L]
Αυτό θα δουλέψει για τα urls τύπου /category/ (με ή χωρίς το τελευταίο /). Στο categories.php διαβάζεις τo cat μέσω του $_GET, κάνεις ένα query στη βάση και τραβάς τα περιεχόμενα της κατηγορίας.

ps. Δεν τα έχω δοκιμάσει, οπότε ίσως χρειαστεί καμία μικροαλλαγή.

txc
Δημοσιεύσεις: 626
Εγγραφή: 02 Δεκ 2003 23:08

rewrite πρόβλημα με .htaccess

Δημοσίευση από txc » 05 Ιούλ 2016 13:41

θα τα δοκιμάσω, ευχαριστώ εκ των προτέρων

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

χρειάζεται να το γυρίσω ελληνικά ή δεν κερδίζω τίποτα?

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης