Salve a tutti! spero possiate aiutarmi data la mia scarsa preparazione in materia.
Sto realizzando il mio sito senza utilizzare alcun CMS e mi trovo di fronte al problema della configurazione degli urls, gestione degli errori e redirect.
Sono riuscito ad "arabattare" una sorta di file htaccess con un uso massiccio di ctrl+c ma non ho capito moltissimo la pratica.
Io vorrei un .htaccess che:
- mi reindirizzi dal dominio www a quello senza www
- riscriva gli urls in modo molto semplice (esempio: /about/ -> /index.php?id=about)
- riscriva gli urls anche in sottocartelle utilizzando index diversi (esempio: /m/about/ -> /m/index.php?id=about)
- reindirizzi gli errori comuni ad una pagina specificando il codice dell'errore( error.php?codiceerrore=404)
- mi permetta di impostare redirect su alcuni percorsi specifici (esempio: /blog/ -> http://mioblog.com)
Il mio risultato è questo:
Graziecodice:<Files ~ "^.(htaccess|htpasswd)$"> deny from all </Files> Options Indexes ErrorDocument 400 /error.php ErrorDocument 401 /error.php ErrorDocument 402 /error.php ErrorDocument 403 /error.php?id=403 ErrorDocument 404 /error.php?id=404 ErrorDocument 405 /error.php ErrorDocument 406 /error.php ErrorDocument 407 /error.php ErrorDocument 408 /error.php ErrorDocument 409 /error.php ErrorDocument 410 /error.php ErrorDocument 411 /error.php ErrorDocument 412 /error.php ErrorDocument 413 /error.php ErrorDocument 414 /error.php ErrorDocument 500 /error.php?id=500 ErrorDocument 501 /error.php ErrorDocument 502 /error.php ErrorDocument 503 /error.php ErrorDocument 504 /error.php ErrorDocument 505 /error.php DirectoryIndex index.html index.xhtml index.htm index.php order deny,allow <IfModule mod_rewrite.c> Options +FollowSymlinks RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] # funziona RewriteRule ^(.*)$ http://%1/$1 [R=301,NC,L] RewriteRule ^blog$ http://xy.z [R=301,NC] # non funziona RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f # a cosa serve?! RewriteCond %{REQUEST_FILENAME} !-d # a cosa serve?! RewriteRule ([^/]+) /index.php?id=$1 [L] RewriteBase /m/ # non funziona RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ([^/]+) /m/index.php?id=$1 [L] RewriteBase /async/ # non funziona RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ([^/]+) /async/index.php?id=$1 [L] </IfModule>

Rispondi quotando