Back to top

Autore Topic: Redirect di tutti i file / a .html  (Letto 3292 volte)

Offline d4rkcloud

  • Esploratore
  • **
  • Post: 184
  • Sesso: Maschio
    • Mostra profilo
Redirect di tutti i file / a .html
« il: 27 Mar 2014, 12:08:13 »
Salve ragazzi,

ho un problema con l'htaccess da risolvere:
in pratica vorrei settare un redirect per tutti le url (www.miosito.it/file) verso le url con l'html finale (www.miosito.it/file.html).

Ma il file htaccess ha dei prametri già inseriti che ho fatica a comprendere, dato che è stato fatto un redirect da un vecchio sito:
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.
#
#####################################################


<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{HTTP_HOST} ^vecchiosito.it$ [OR]
  RewriteCond %{HTTP_HOST} ^www.vecchiosito.it$$ [OR]
  RewriteRule (.*)$ http://www.nuovosito.it/$1 [R=301,L]
</IfModule>

##  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
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]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://www.vecchiosito.it/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [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

<FilesMatch "\.(ico|pdf|jpg|jpeg|png|gif|js|css)$">
Header set Cache-Control "max-age=31556926, public"
</FilesMatch>

FileETag none

SetOutputFilter DEFLATE
AddOutputFilter DEFLATE text/plain
AddOutputFilter DEFLATE text/html
AddOutputFilter DEFLATE text/xml
AddOutputFilter DEFLATE text/css
AddOutputFilter DEFLATE application/xml
AddOutputFilter DEFLATE application/xhtml+xml
AddOutputFilter DEFLATE application/rss+xml
AddOutputFilter DEFLATE application/javascript
AddOutputFilter DEFLATE application/x-javascript
AddOutputFilter DEFLATE application/x-httpd-php
AddOutputFilter DEFLATE application/x-httpd-fastphp
AddOutputFilter DEFLATE image/svg+xml
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
# Don't compress images
SetEnvIfNoCase Request_URI \\.(?:gif|jpe?g|png)$ no-gzip dont-vary

AddDefaultCharset utf-8

RewriteRule (.+)/$ /$1.html [L]

Ho provato a inserire l'ultima riga che ho trovato su internet, ma il risultato non cambia...
Qualcuno sa come aiutarmi?

Grazie!!  8)
Art&Web director freelance
-----------------------------------
UI/UX Designer & SEO Expert

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:Redirect di tutti i file / a .html
« Risposta #1 il: 27 Mar 2014, 12:13:05 »
perchè su questa board?, dovresti essere in SEO

Se usi j2.5/3.x prova ad usare il componente redirect che c'è di serie.
in joomla 3.x va attivato (in plug in) se non sbaglio
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline d4rkcloud

  • Esploratore
  • **
  • Post: 184
  • Sesso: Maschio
    • Mostra profilo
Re:Redirect di tutti i file / a .html
« Risposta #2 il: 27 Mar 2014, 12:20:10 »
Il punto è che il sito ha migliaia di contenuti, non posso settarli manualmente uno per uno.

Ecco perché vorrei modificare l'htaccess perché lo faccia automaticamente.


P.S.: devo postare nell'altra sezione?
Art&Web director freelance
-----------------------------------
UI/UX Designer & SEO Expert

Offline d4rkcloud

  • Esploratore
  • **
  • Post: 184
  • Sesso: Maschio
    • Mostra profilo
Re:Redirect di tutti i file / a .html
« Risposta #3 il: 27 Mar 2014, 12:20:54 »
Ah, ovviamente grazie per avermi risposto così velocemente!  ;)
Art&Web director freelance
-----------------------------------
UI/UX Designer & SEO Expert

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:Redirect di tutti i file / a .html
« Risposta #4 il: 27 Mar 2014, 12:33:59 »
dovresti provare con redj allora, un componente che ti permette di inserire queste regole

su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline d4rkcloud

  • Esploratore
  • **
  • Post: 184
  • Sesso: Maschio
    • Mostra profilo
Re:Redirect di tutti i file / a .html
« Risposta #5 il: 27 Mar 2014, 12:37:45 »
Grazie mille per il consiglio, ci proverò!
Art&Web director freelance
-----------------------------------
UI/UX Designer & SEO Expert

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Redirect di tutti i file / a .html
« Risposta #6 il: 27 Mar 2014, 14:17:57 »
ciao,
 io invece ti consiglieri di cominciare a dare una pulita a quel file, dato che mi sembra una che sia una serie di codici copiati qua e là...  :(


comunque la regola che hai inserito in fondo al file non può funzionare proprio perché è in fondo al file, se vuoi attivarla la devi mettere prima del blocco di riscrittura degli url di joomla. la posizione corretta è subito dopo il RewriteEngine on, io metterei anche una RewriteCond, onde evitare che ti metta il .html a chi lo ha già.


se sei in J3, io verificherei se la cosa serve, perché forse è meglio lasciare che sia J3 a gestire il rel canonical, cosa che fa decisamente meglio dei suoi predecessori.


nel caso, in joomla.it dovrebbero ancora esserci alcuni mie articoli su come usare .htaccess per compiti come quello da te richiesto.


ps: io sono abbastanza contrario a componenti come quello citato: perché passare all'application server ciò che può essere fatto al livello di web server? rallenti l'esecuzione, aggravi il lavoro della macchina e hai un componente pericoloso in più dei cui aggiornamenti e sicurezza preoccuparti.


ciao,
marco



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

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Redirect di tutti i file / a .html
« Risposta #7 il: 27 Mar 2014, 14:24:41 »
a proposito di rimettere a posto quel che c'è...
stavo guardando il file postato. AddOutputFilter richiede l'estensione del file, non il mime. da dove hai preso quella sequenza?


mi sa che ci sono un poco di comandi, per citare il buon Scoglio, ad minchiam  ;D


ciao

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

Offline d4rkcloud

  • Esploratore
  • **
  • Post: 184
  • Sesso: Maschio
    • Mostra profilo
Re:Redirect di tutti i file / a .html
« Risposta #8 il: 27 Mar 2014, 16:22:17 »
Lo immaginavo...  >:(
Provo a contattare il cliente.


Grazie per l'aiuto!
Art&Web director freelance
-----------------------------------
UI/UX Designer & SEO Expert

 



Web Design Bolzano Kreatif