.htaccess
. URLs
. Voglio:
demo.example.com/section.php?id=1
Cambiato in:
demo.example.com/section/sample-section
Provai
RewriteCond %{SCRIPT_FILENAME} !-d RewriteCond %{SCRIPT_FILENAME} !-f RewriteRule ^section/(\d+)*$ ./section.php?id=$1
ma nessuna differenza
Grazie.
Apprezzerò il tuo aiuto.
Innanzitutto, assicurati che mod_rewrite sia abilitato e i file htaccess consentiti nella configurazione di Apache.
Quindi, inserisci questo codice nel tuo htaccess (che deve essere nella cartella principale)
Options -MultiViews RewriteEngine On # redirect "/section.php?id=xxx" to "/section/xxx" RewriteCond %{THE_REQUEST} \s/section\.php\?id=([0-9]+)\s [NC] RewriteRule ^ /section/%1? [R=301,L] # internally rewrite "/section/xxx" to "/section.php?id=xxx" RewriteRule ^section/([0-9]+)$ /section.php?id=$1 [L]
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^section/([^/]+)$ /section.php?id=$1 [L]
Questo trasformsrà example.com/section.php?id=X
in example.com/section/X
Suggerisco di archiviare l’URI in un database usando quindi section.php? Uri =
Per esempio:
example.com/section.php?uri=super-awesome
si trasformsrebbe in:
example.com/section/super-awesome