Back to top

Autore Topic: Maledetto mod_rewrite! ...e il suo collega .htaccess!  (Letto 4780 volte)

Offline Bruno733

  • Esploratore
  • **
  • Post: 68
  • Sesso: Maschio
    • Mostra profilo
Come da oggetto.
Con il Friendly URL per i motori di ricerca attivato l'url tipo è hppt://wvw.sito.org/index.php/home
Se però nella Configurazione SEO abilito anche il mod-rewrite per eliminare "index.php" mi spariscono le pagine (errore 404).
htaccess è già rinominato in .htaccess
Penso che il problema sia nella configurazione di tale file, ma io non sono in grado di correggerlo, commentando o meno le varie voci.
Il mio hosting risponde così alla mia richiesta:
"La informo che mod_rewrite è disponibile sul suo Hosting Linux di xxxxx.xx ed è possibile utilizzare un file .htaccess contenente le direttive relative alle Rewrite Rules direttamente salvandolo nella directory principale del Suo spazio FTP.
Le direttive fondamentali da non omettere sono RewriteEngine e RewriteBase.
Per maggiori informazioni la invito a verificare la documentazione ufficiale di Apache relativa al mod_rewrite visibile a questa URL:
http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html
Ricordiamo inoltre che l'utilizzo di alcune direttive è stato disabilitato, per motivi di sicurezza, come ad esempio la direttiva Options.
Se necessita di utilizzare tale specifica direttiva, dovrà seguire questa procedura:
   * acceda al pannello di controllo
   ecc....
In molti casi è necessario utilizzare l'opzione Options +FollowSymLinks.
In questo caso dovrà procedere sempre da pannello di controllo, seguendo la procedura prima indicata, utilizzando però l'opzione FollowSymLinksIfOwnerMatch"


C'è un'anima pia che ha la pazienza di dare un'occhiata al mio .htaccess e fornirmene una versione riveduta e corretta? Sempre grazie!

Codice: [Seleziona]
##
# @version $Id: htaccess.txt 13415 2009-11-03 15:53:25Z ian $
# @package Joomla
# @copyright Copyright (C) 2005 - 2008 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
# Protect Hotlinking
RewriteEngine On
RewriteRule ^joomla/(.*)$ /$1 [R=301,L]
RewriteCond% (HTTP_REFERER)! ^ $
RewriteRule .*. (gif | jpg | png) $ http://domainname.com/img/hotlink_f_o.png [nc]

# Sicuro htaccess
<Files .htaccess>
Un ordine allow, deny
Nega di tutti
</ File>

#
#RewriteBase/

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
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

#  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
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$  [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
#
########## End - Joomla! core SEF Section
« Ultima modifica: 02 Apr 2010, 00:00:01 da taolo »

adottauncane

  • Visitatore

Offline Bruno733

  • Esploratore
  • **
  • Post: 68
  • Sesso: Maschio
    • Mostra profilo
Re:Maledetto mod_rewrite! ...e il suo collega .htaccess!
« Risposta #2 il: 02 Apr 2010, 22:55:02 »
Prova a mettere # alla riga 23 # Options +FollowSymLinks

Fatto, ma non cambia nulla. Ho provato a inserire:
#Options + FollowSymLinks
oppure
#Options + FollowSymLinksIfOwnerMatch (come da mail dell'host)
oppure tutti e due
#Options + FollowSymLinks
#Options + FollowSymLinksIfOwnerMatch


Al momento questo è il mio .htaccess (che non funziona con mod_rewrite attivato)

Codice: [Seleziona]
##
# @version $Id: htaccess.txt 13415 2009-11-03 15:53:25Z ian $
# @package Joomla
# @copyright Copyright (C) 2005 - 2008 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
#Options + FollowSymLinksIfOwnerMatch
# Protect Hotlinking
RewriteEngine On
RewriteRule ^joomla/(.*)$ /$1 [R=301,L]
RewriteCond% (HTTP_REFERER)! ^ $
RewriteRule .*. (gif | jpg | png) $ http://domainname.com/img/hotlink_f_o.png [nc]

# Sicuro htaccess
<Files .htaccess>
Un ordine allow, deny
Nega di tutti
</ File>

#
#RewriteBase/

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
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

#  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
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$  [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
#
########## End - Joomla! core SEF Section

Offline mmleoni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Maledetto mod_rewrite! ...e il suo collega .htaccess!
« Risposta #3 il: 02 Apr 2010, 23:35:05 »
scusa, ma dove hai preso questo file?

Codice: [Seleziona]
RewriteRule ^joomla/(.*)$ /$1 [R=301,L]

la tua installazione joomla era nella subdir /joomla?


Codice: [Seleziona]
RewriteCond% (HTTP_REFERER)! ^ $
RewriteRule .*. (gif | jpg | png) $ http://domainname.com/img/hotlink_f_o.png [nc]

questo non si capisce che sia... (non ha alcun senso)

Codice: [Seleziona]
# Sicuro htaccess
<Files .htaccess>
Un ordine allow, deny
Nega di tutti
</ File>

questo lo hai passato nel traduttore automatico? comunque
order allow, deny
deny from all
significa che nessuno può accedere.

ed altre amenità...

cancella questo file e ricarica quello originale.

ciao,
marco


mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline Bruno733

  • Esploratore
  • **
  • Post: 68
  • Sesso: Maschio
    • Mostra profilo
Re:Maledetto mod_rewrite! ...e il suo collega .htaccess!
« Risposta #4 il: 02 Apr 2010, 23:54:48 »
la tua installazione joomla era nella subdir /joomla?
Si, ma adesso il sito è nella root principale

cancella questo file e ricarica quello originale.

Ciao Marco. Ho provveduto a ricaricare il file originale, ma neanche questo va.
Anche qui ho provato a inserire entrambi, insieme o alternati:
#Options + FollowSymLinks
#Options + FollowSymLinksIfOwnerMatch


Attualmente il mio .htaccess non funzionante con il mod-rewrite attivato è:
Codice: [Seleziona]
##
# @version $Id: htaccess.txt 13415 2009-11-03 15:53:25Z ian $
# @package Joomla
# @copyright Copyright (C) 2005 - 2008 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
#
RewriteBase/

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
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

#  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
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$  [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
#
########## End - Joomla! core SEF Section


Offline 56francesco

  • Fuori controllo
  • *
  • Post: 29585
  • Sesso: Maschio
    • Mostra profilo
Re:Maledetto mod_rewrite! ...e il suo collega .htaccess!
« Risposta #5 il: 03 Apr 2010, 10:26:47 »
per cortesia evita di postare quintalate di codice..

per inciso, .htaccess è un file di apache, quindi risenti tantissimo di come è configurato il server,
se hai problemi specifici sempre bene chiedere alla propria assistenza hosting, l'unica che conosce tutti i settaggi e che può rimediare con soluzioni personalizzate.

(uso XP perchè win98 non si installa) 
PS: non sono un dipendente dello sbonzor quindi è necessario un "per favore" alla richiesta e un "grazie" alla risposta, sempre! PPS: non scrivo mai per primo in MP, in caso contrario chiedimi una conferma, Grazie.

Offline mmleoni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Maledetto mod_rewrite! ...e il suo collega .htaccess!
« Risposta #6 il: 03 Apr 2010, 11:20:15 »
guarda che il # indica che ciò che segue è un commento.
+FollowSymLinks (senza lo spazio) è necessario per usare il mod_rewrite, se non è attivato di default devi metterlo togliendo il commento; al limite verifica dal pannello di controllo se è abilitato l'uso di Options, come ti ha detto l'assistenza.

per il resto smettila di fare modifiche a casaccio: RewriteBase non può precedere RewriteEngine On

non postare più il tuo htaccess, usa quello di joomla, senza toccare niente se non ciò che ti ho detto sopra.

ciao,
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline lamaroscu

  • Nuovo arrivato
  • *
  • Post: 6
    • Mostra profilo
Re:Maledetto mod_rewrite! ...e il suo collega .htaccess!
« Risposta #7 il: 07 Apr 2010, 17:56:38 »
Ciao,
prendi il file originale di joomla e fai queste modifiche
aggiungi, se già non c'è, # alla riga:
Options +FollowSymLinks 

e togli invece il # dalla riga:
#RewriteBase/

L.

Offline Bruno733

  • Esploratore
  • **
  • Post: 68
  • Sesso: Maschio
    • Mostra profilo
Re:Maledetto mod_rewrite! ...e il suo collega .htaccess!
« Risposta #8 il: 09 Apr 2010, 19:29:01 »
Grazie a tutti, ma non c'è niente da fare.
Ho caricato il file originale e ho seguito i vostri suggerimenti ma ogni volta che provo a mettere SI alla voce "Utilizza mod_rewrite" nella Configurazione SEO mi scompare la pagina.
L'assistenza mi ha fatto attivare il parametro Options "SymLinksIfOwnerMatch" ma non cambia nulla.
Pazienza. Grazie lo stesso.

 



Web Design Bolzano Kreatif