-
Joomla SEF e htaccess
Salve a tutti,
nel mio spazio su altervista ho istallato Joomla, poi ho acquistato la funzionalità mod_rewrite per far funzionare il file htaccess che viene fornito insieme a Joomla 1.0.12... Ma senza successo! :crycry:
Ho letto di tutto su questo forum (e anche su quello di joomla.it, nella sezione dedicata ad Altervista) e ho fatto mille modifiche... E ancora non funziona!
Ora io non so se il problema risiede nel fatto che ho istallato Joomla in una sottodirectory tipo http://miodominio.altervista.org/miasubdir/ ..anche perchè i problemi riscontrati sono ovviamente diversi (errore 500 o "index mancante") a seconda delle modifiche fatte all'htaccess.
Io mi accontenterei di far funzionare il SEF originale di Joomla, senza nessun componente aggiuntivo modificato (anche per manetenere la compatibilità con i futuri upgrade).
Nessuno sa dirmi se c'è un modo semplice e pulito come ad esempio la sola modifica del file htaccess per far funzionare il SEF integrato di Joomla?
Grazie in anticipo a chiunque avrà la pazienza di rispondermi :wink:
-
Scrivi il codice del file .htaccess.
-
Attualmente e' il file htaccess originale di Joomla 1.0.12... ma giustamente non ti dovrei costringere a conoscerlo a memoria :=):
Eccolo qui:
Codice:
##
# @version $Id: htaccess.txt 5973 2006-12-11 01:26:33Z robs $
# @package Joomla
# @copyright Copyright (C) 2005 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.
#
# Only use one of the two SEF sections that follow. Lines that can be uncommented
# (and thus used) have only one #. Lines with two #'s should not be uncommented
# In the section that you don't use, all lines should start with #
#
# For Standard SEF, use the standard SEF section. You can comment out
# all of the RewriteCond lines and reduce your server's load if you
# don't have directories in your root named 'component' or 'content'
#
# If you are using a 3rd Party SEF or the Core SEF solution
# uncomment all of the lines in the '3rd Party or Core SEF' section
#
#####################################################
##### SOLVING PROBLEMS WITH COMPONENT URL's that don't work #####
# SPECIAL NOTE FOR SMF USERS WHEN SMF IS INTEGRATED AND BRIDGED
# OR ANY SITUATION WHERE A COMPONENT's URL's AREN't WORKING
#
# In both the 'Standard SEF', and '3rd Party or Core SEF' sections the line:
# RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional - see notes##
# May need to be uncommented. If you are running your Joomla!/Mambo from
# a subdirectory the name of the subdirectory will need to be inserted into this
# line. For example, if your Joomla!/Mambo is in a subdirectory called '/test/',
# change this:
# RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional - see notes##
# to this:
# RewriteCond %{REQUEST_URI} ^(/test/component/option,com) [NC,OR] ##optional - see notes##
#
#####################################################
## Can be commented out if causes errors, see notes above.
Options +FollowSymLinks
#
# mod_rewrite in use
RewriteEngine On
# Uncomment following line if your webserver's URL
# is not directly related to physical file paths.
# Update Your Joomla!/MamboDirectory (just / for root)
# RewriteBase /
########## Begin - Joomla! core SEF Section
############# Use this section if using ONLY Joomla! core SEF
## ALL (RewriteCond) lines in this section are only required if you actually
## have directories named 'content' or 'component' on your server
## If you do not have directories with these names, comment them out.
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional - see notes##
RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC]
RewriteRule ^(content/|component/) index.php
#
########## End - Joomla! core SEF Section
########## Begin - 3rd Party SEF Section
############# Use this section if you are using a 3rd party (Non Joomla! core) SEF extension - e.g. OpenSEF, 404_SEF, 404SEFx, SEF Advance, etc
#
#RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional - see notes##
#RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC]
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule (.*) index.php
#
########## End - 3rd Party SEF Section
########## 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!
#
# 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 crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
# Block out any script that includes a <script> tag in URL
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%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})
# Send all blocked request to homepage with 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]
#
########## End - Rewrite rules to block out some common exploits
-
Prova a modificare questa riga:
In questo modo:
-
Niente da fare...
Ho provato queste modifiche:
restitusice un errore 500 generico.
Codice:
RewriteBase /miasubdir
e
Codice:
RewriteBase /miasubdir/
restituiscono sempre l'errore 500, ma segnalando un .htaccess errato che riscrive in htaccess.txt
:crycry:
-
Prova poi a modificare questa riga:
Codice:
Options +FollowSymLinks
In questo modo:
Codice:
# Options +FollowSymLinks
-
ti consiglio di leggere questo wiki
http://joomlavista.altervista.org/openwiki/23.html (seo di joomla con htaccess modificato da moi)
http://joomlavista.altervista.org/openwiki/24.html (Artiosef modificato da me)
imposta nell'htaccess modificato pe Altervista
RewriteBase /tuasubdir
-
Ho provato a commentare quell'opzione come mi hai detto:
Codice:
# Options +FollowSymLinks
Non ho capito bene se dovevo commentare, mantenendo anche la modifica precedente di RewriteBase, ma insomma... le ho provate entrambe.
Ora l'errore è in ogni caso: "file index mancante".
E il file htaccess non viene riscritto...
Sono tutte modifiche che avevo già provato, ma va benissimo ritentarle una ad una ordinatamente :wink:
Intanto grazie per l'aiuto... Come proseguiamo?
-
x il seo di joomla incollaquesto
Codice PHP:
##
# @version $Id: htaccess.txt 1570 2005-12-29 05:53:33Z eddieajau $
# @package Joomla
# @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
# @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
# Joomla! is Free Software
# Versione modificata per il mod_rewrite di altervista by swedenfox http://swedenfox.altervista.org
##
#
# mod_rewrite in use
#
RewriteEngine On
##
## NOTE!
## When using multiple Joomla sites or other web applications in sub-folders,
## you must explicitly turn the RewriteEngine off or use the settings
## recommended for the application
##
# Uncomment following line if your webserver's URL
# is not directly related to physical file paths.
# Update YourJoomlaDirectory (just / for root)
RewriteBase /miasub
#
# Rules
#
RewriteCond %{REQUEST_FILENAME} !\.(jpg|jpeg|gif|png|css|js|pl|txt)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php
########## 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!
#
# 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 crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
# Block out any script that includes a <script> tag in URL
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%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})
# Send all blocked request to homepage with 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]
#
########## End - Rewrite rules to block out some common exploits
-
Risolto
Ok, funziona!!! :=):
Grazie Swedenfox.
In realtà mi ero girato in lungo e in largo anche il tuo sito, ma evidentemente non ero riuscito a fare le modifiche giuste... E' difficile andando così alla cieca! Per ora arrivo al massimo a capire che le righe con "#" sono commentate :???: E' ora che inizio a studiare come fuzionano sti file .htaccess :wink:
Grazie anche a funcool per la disponibilità.
:ciucchi:
-
ho un problema analogo a quello citato... l'unica cosa che non mi è chiara e se l'htaccess da riscrivere è quello nella directory principale o quello nella sub dove è installato joomla...
grazie!
-
credo che debba stare nella directory principale: infatti nel post #9 si indica la subdirectory in cui è installato il cms...
-
boh... ho proceduto a tentativi... adesso è modificato in entrambe e funzia...
però penso che toglierò il SEO perché da quando l'ho messo esaurisco le queries veramente in fretta...