genius_13 Δημοσ. 2 Μαρτίου 2015 Δημοσ. 2 Μαρτίου 2015 Έχω ένα scriptaki και θέλω να κάνω τα URL περισσότερο φιλικά προς τις μηχανές αναζήτησης. Στο .htaccess βρήκα το παρακάτω , δεν ξέρω αν αρκεί να αλλάξω κάτι εδώ για να το πετύχω ## RewriteRule ^(.+)/(.+)$ software_detail.php?slug=$1&mcat=$2 [NC,L] # RewriteBase /filev1.1/ # RewriteRule ^([^/]*)/download_([^/]*)$ software_detail.php?mcat=$1&slug=$2 [L] <IfModule mod_rewrite.c> RewriteEngine On #custom page urls RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+).html/?$ info.php?page=$1 [L] #main page urls RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)/?$ index.php?mcat=$1 [L] #searching RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)/search/([^/]+)/?$ search.php?mcat=$1&q=$2 [L] RewriteRule ^([^/]+)/search/([^/]+)/([^/]+)/?$ search.php?mcat=$1&q=$2&p=$3 [L] #categories urls RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)/([^/]+)/?$ categories.php?mcat=$1&cat=$2 [L] #pagination urls RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)/([^/]+)/page-([^/]+)/?$ categories.php?mcat=$1&cat=$2&pn=$3 [L] #download page urls RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)/download_([^/]+)/([^/]+)/?$ download.php?mcat=$1&slug=$2&download=$3 [L] #browse urls RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ software_detail.php?mcat=$1&catid=$2&slug=$3 [L] #History urls RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)/download/history/([^/]+)/?$ history.php?mcat=$1&soft=$2 [L] ErrorDocument 404 http://localhost/filev1.1.1/404.php/ </IfModule> Αυτό που θέλω να κάνω είναι π.χ το #browse urls να δίνει αποτέλεσμα http://siteurl/category/postname Άλλαξα το RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ software_detail.php?mcat=$1&catid=$2&slug=$3 [L]με RewriteRule ^([^/]*)/([^/]*)\.html$ /test/categories.php?mcat=$1&cat=$2 [L]αλλά δίνει 404. Οποιαδήποτε βοήθεια ευπρόσδεκτη.
aledjo Δημοσ. 3 Μαρτίου 2015 Δημοσ. 3 Μαρτίου 2015 πραγματικα δε καταλαβα τι θες να κανεις. πρωτα απ'ολα το site ειναι σε καποιο cms ή ειναι κατι custom? τα υπαρχοντα urls τωρα ποια μορφη εχουν?
genius_13 Δημοσ. 3 Μαρτίου 2015 Μέλος Δημοσ. 3 Μαρτίου 2015 Είναι σε php. Τώρα το URL του άρθρου εμφανίζεται έτσι http://domain.com/software_detail.php?mcat=windows&catid=drivers&slug=driver_booster_ Και θέλω να το κάνω έτσι http://domain.com/windows/drivers/driver_booster_.html
aledjo Δημοσ. 3 Μαρτίου 2015 Δημοσ. 3 Μαρτίου 2015 οταν λες οτι ειναι σε php, ειναι κατι custom cms ή static php? παντως η λυση που ψαχνεις μεσω του htaccess δεν ειναι λυση ακομα κι'αν το πετυχεις. ειναι απλα μια πατεντα.
genius_13 Δημοσ. 3 Μαρτίου 2015 Μέλος Δημοσ. 3 Μαρτίου 2015 Αν εννοείς στο RewriteRule δεν το έβαλα εγώ. Αρχικά είχα ανεβάσει στο scriptaki σε subfolder της μορφής http://mydomain.com/script Βρήκα ένα rewrite tool μήπως καταφέρω αλλάζοντας το .htaccess να το κάνω να εμφανίζει τα url όπως θέλω , το εργαλείο που προανέφερα μου εμφάνιζε ένα rewritten URL που δεν περιείχε το /script , έτσι το πρόσθεσα εγώ σαν prefix. Σήμερα ανέβασα πάλι το scriptaki αλλά όχι σε subfolder , κατευθείαν στο domain , έκανα την ίδια διαδικασία και αντικατέστησα την τελευταία σειρά του #browse urls RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ software_detail.php?mcat=$1&catid=$2&slug=$3 [L] με αυτό RewriteRule ^([^/]*)/([^/]*)/([^/]*)\.html$ /software_detail.php?mcat=$1&catid=$2&slug=$3 [L] Τώρα δοκιμάζοντας το http://mydomain.com/windows/browsers/firefox.html λειτουργεί κανονικά με την διαφορά ότι αν κάνω browse και πατήσω να ανοίξει το ίδιο άρθρο θα το εμφανίσει πάλι σανhttp://mydomain.com/software_detail.php?mcat=windows&catid=browsers&slug=firefoxΜε κούρασε και δεν βλέπω να βγάζω άκρη , δεν είναι και της ειδικότητας μου τα παραπάνω ,θα το αφήσω έτσι προσωρινά.
ParhsG Δημοσ. 3 Μαρτίου 2015 Δημοσ. 3 Μαρτίου 2015 ειναι ο κλασικος τροπος αλλα μπορεις να χρησιμοποιησεις καποιο router πχ απο symfony framework για πιο ευκολια.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα