Salve a tutti, premetto che non sono un esperto nella configurazione del file .htaccess e che in passato ho sempre usato modelli precostruiti con questo file già precompilato.
Inizio con il voler trasformare i link interni del mio joomla in modo da renderli Search Engine Friendly. Cerco su internet, mi imbatto in alcune guide (la migliore proveniente da questo sito) e comincio a settare il mio file.
Prima di tutto mi becco un bell'errore 500, causato da una stringa del file che poi ho commentato. Parlo di:
# Options +FollowSymLinks
E a quanto ho visto sul forum, chi ha hostato il sito dal mio stesso fornitore ha avuto questo problema.
Commentata questa riga, mi ritrovo con il file htaccess funzionante ma quando vado a cliccare sui link delle varie categorie (del tipo
http://www.miosito.com/comunicazioni o sui titoli degli articoli mi ritrovo un bell'errore 404 - Not Found.
Ovviamente il mio web server gira sotto linux e ovviamente ho abilitato le voci mod_rewrite e SEF nelle impostazioni di joomla.
Ho anche commentato le 2 righe
# RewriteRule .* index.php [L]
per non avere index.php nel link. Quindi da miosito.com/index.php/nomecategoria a miosito.com/nomecategoria.
Ecco qui il file htaccess com'è ora:
##
# @version $Id: htaccess.txt 21064 2011-04-03 22:12:19Z dextercowley $
# @package Joomla
# @copyright Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
# @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
# Joomla! is Free Software
##
#####################################################
# READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE
#
# The line just below this section: 'Options +FollowSymLinks' may cause problems
# with some server configurations. It is required for use of mod_rewrite, but may already
# be set by your server administrator in a way that dissallows changing it in
# your .htaccess file. If using it causes your server to error out, comment it out (add # to
# beginning of line), reload your site in your browser and test your sef url's. If they work,
# it has been set by your server administrator and you do not need it set here.
#
#####################################################
## Can be commented out if causes errors, see notes above.
# Options +FollowSymLinks
#
# mod_rewrite in use
RewriteEngine On
########## Begin - Rewrite rules to block out some common exploits
## If you experience problems on your site block out the operations listed below
## This attempts to block the most common type of exploit `attempts` to Joomla!
#
## Deny access to extension xml files (uncomment out to activate)
#<Files ~ "\.xml$">
#Order allow,deny
#Deny from all
#Satisfy all
#</Files>
## End of deny access to extension xml files
# Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Block out any script trying to base64_encode data within the URL
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
# Block out any script that includes a <script> tag in URL
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Return 403 Forbidden header and show the content of the root homepage
# RewriteRule .* index.php [F]
#
########## End - Rewrite rules to block out some common exploits
########## Begin - Custom redirects
#
# If you need to redirect some pages, or set a canonical non-www to
# www redirect (or vice versa), place that code here. Ensure those
# redirects use the correct RewriteRule syntax and the [R=301,L] flags.
#
########## End - Custom redirects
# Uncomment following line if your webserver's URL
# is not directly related to physical file paths.
# Update Your Joomla! Directory (just / for root)
RewriteBase /
########## Begin - Joomla! core SEF Section
#
# RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
#
# If the requested path and file is not /index.php and the request
# has not already been internally rewritten to the index.php script
RewriteCond %{REQUEST_URI} !^/index\.php
# and the request is for root, or for an extensionless URL, or the
# requested URL ends with one of the listed extensions
RewriteCond %{REQUEST_URI} (/[^.]*|\.(php|html?|feed|pdf|raw))$ [NC]
# and the requested path and file doesn't directly match a physical file
RewriteCond %{REQUEST_FILENAME} !-f
# and the requested path and file doesn't directly match a physical folder
RewriteCond %{REQUEST_FILENAME} !-d
# internally rewrite the request to the index.php script
# RewriteRule .* index.php [L]
#
########## End - Joomla! core SEF Section
Facendo varie prove ho provato a sostituire la riga
RewriteBase /
in
RewriteBase /home/htdocs/www.miosito.com/
perchè quello dovrebbe essere il percorso assuluto della cartella in cui è hostato il mio sito ma senza un buon risultato: il problema persiste.
Non penso sia un problema complesso perchè vedo molti siti in joomla con link SEF ma non so più che altre scelte ho e google non aiuta :-V
Ringrazio in anticipo tutti per l'aiuto