Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    209

    aruba e htaccess, con worpress funziona ma col resto!?

    Salve a tutti.
    Ho googlato e trovato già diversi topic a riguardo ma non venendo a capo del problema provo a chiederlo direttamente a voi.
    Ho un hosting linux su aruba sul quale gira un sito e, in una sottocartella, un blog in wordpress.
    Vorrei abilitare gli URL SEF in modo tale che un url
    www.miosito.it/articolo.php?id=123
    (che porta a un articolo il cui titolo è "sono un articolo bellissimo")
    diventi
    www.miosito.it/sono-un-articolo-bellissimo/
    oppure, supponendo che l'articolo sia di novembre 2012:
    http://www.miosito.it/2012/11/sono-u...lo-bellissimo/
    così come accade in wordpress
    Fatto salvo che questo meccanismo, nella cartella di wordpress funziona senza problemi, vorrei riuscire a replicarlo o nella root del sito o in una sottocartella.
    Nonostante abbia provato tutti i suggerimenti trovati online non ne vengo a capo, qualcuno può darmi qualche dritta?
    Grazie in anticipo delle risposte.

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    209
    Mi auto updato perchè ho fatto qualche progresso.
    Sono riuscito ad ottenere un auto redirect da url SEF a pagine reali.
    Più precisamente, ho una cartella magazine che contiene un htaccess con questi redirect
    A titolo d'esempio l'url www.miosito.it/magazine/home (che è relativo ad una pagina non esistente in magazine) redigige il visitatore a www.miosito.it/index.php che invece è una pagina esistente.
    Ipotizzando di utilizzare questa soluzione, essa agevola l'indicizzazione?
    Grazie e buona programmazione

  3. #3
    Utente di HTML.it L'avatar di Enoa
    Registrato dal
    Jul 2005
    Messaggi
    573
    Qual'è la struttura delle cartelle e il contenuto degli htaccess e dove sono/saranno posizionati?

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    209
    Salve Enoa, attualmente la struttura delle cartelle è questa:

    / (root: contiene index.php e tutte le altre pagine php del sito, più i file robots.txt e sitemap.xml)
    /magazine (contiene il file .htaccess che fa il redirect alla root, come spiegavo nel secondo post)
    /moduli (contiene moduli php e javascript utilizzati dalle pagine nella root)
    /images (contiene immagini utilizzati dalle pagine nella root)
    /css (contiene i fogli di stile utilizzati dalle pagine nella root)

    Nel frattempo ho scoperto che con aruba si possono usare i file htaccess in qualsiasi sotto cartella del dominio ma non nella root.

    e questo è il codice dell'htaccess della cartella magazine:

    codice:
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /magazine/
    RewriteRule home.html http://www.miosito.it/index.php [L]
    RewriteRule news.html http://www.miosito.it/news.php [L]
    RewriteRule news/([0-9]+).html http://www.miosito.it/news_dettaglio.php?id=$1 [L]
    RewriteRule articolo/([0-9]+).html http://www.miosito.it/articolo.php?id=$1 [L]
    RewriteRule recensioni.html http://www.miosito.it/articoli.php?f...&fv=Recensione [L]
    RewriteRule anteprime.html http://www.miosito.it/articoli.php?fb=Tipo&fv=Anteprima [L]
    RewriteRule speciali.html http://www.miosito.it/articoli.php?fb=Tipo&fv=Speciale [L]
    RewriteRule . http://www.miosito.it/index.php [L]
    </IfModule>

  5. #5
    Utente di HTML.it L'avatar di Enoa
    Registrato dal
    Jul 2005
    Messaggi
    573
    Originariamente inviato da Walessio
    Nel frattempo ho scoperto che con ***** si possono usare i file htaccess in qualsiasi sotto cartella del dominio ma non nella root.
    Mi sembra strano . (n.b. da regolamento non si può parlare di hosting/ISP a pagamento)
    Hai provato delle regole e non funzionavano oppure ricevi un errore http?
    magazine/ sarebbe la cartella in cui è installato wordpress?

    L'htaccess che hai postato usando url assoluti esegue un redirect, più che un rewrite, non sono sicuro di aver compreso quello che vuoi ottenere, io lo strutturerei così:
    - .htaccess nella root
    codice:
    RewriteEngine On
    
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule . - [L]
    
    RewriteRule ([recensioni|anteprime|speciali]+)\.html articoli.php?fb=Tipo&fv=$1 [L,QSA]
    RewriteRule articolo/([0-9]+)\.html articolo.php?id=$1 [L,QSA]
    RewriteRule news/([0-9]+)\.html news_dettaglio.php?id=$1 [L,QSA]
    RewriteRule home.html index.php [L]
    RewriteRule news.html news.php [L]
    RewriteRule . index.php [L]
    - .htaccess cartella magazine (non so che versione di wordpress usi, ma l'htaccess sarà più o meno così)
    codice:
    RewriteEngine On
    RewriteBase /magazine
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . index.php [L]
    Quanto sopra vale se ho capito bene l'esigenza che è di avere gli url dominio.com/home.html piuttosto che dominio.com/magazine/home.html

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    209
    Ciao Enoa e grazie per le risposte.
    Prima di tutto ho provato un .htaccess nella root con il codice che mi hai dato ma non funziona, infatti digitando un url come www.miosito.it/articolo/79.html mi viene restituito un errore 404 invece di andare a finire su www.miosito.it/articolo.php?id=79.
    Ho rimosso l'htaccess dalla root.

    Secondariamente, rispondo ai tuoi dubbi.

    Ciò che voglio ottenere è un rewrite degli url allo scopo di aumentare la visibilità ai motori di ricerca.

    Al momento sono riuscito ad ottenere due possibili soluzioni alternative:
    A: un redirect dalla cartella magazine verso la root, in questo modo www.miosito.it/magazine/articolo/79.html
    redirige il visitatore alla pagina
    www.miosito.it/articolo.php?id=79 e il visitatore vede il cambio di url

    B: un rewrite che fa la stessa identica operazione, mostrando però l'url seo
    l'unico inconveniente di questa soluzione è che i link relativi delle pagine sono da modificare, ma se è per la seo, si farà.

    inoltre, sia usando A che B, le pagine php con query string sono raggiungibili lo stesso.

    Riassumendo, allo stato attuale per arrivare a
    www.miosito.it/articolo.php?id=79
    posso arrivarci anche tramite
    www.miosito.it/magazine/articolo/79.html
    Ciò migliorerà o peggiorerà la SEO?

  7. #7
    Utente di HTML.it L'avatar di Enoa
    Registrato dal
    Jul 2005
    Messaggi
    573
    Originariamente inviato da Walessio
    Prima di tutto ho provato un .htaccess nella root con il codice che mi hai dato ma non funziona, infatti digitando un url come www.miosito.it/articolo/79.html mi viene restituito un errore 404 invece di andare a finire su www.miosito.it/articolo.php?id=79.
    Ho rimosso l'htaccess dalla root.
    Scusa se insisto , ma se è un hosting condiviso dubito che ti abbiano settato l'AllowOverride su on solo per la cartella magazine.(che in fase di settaggio del virtualhost nemmeno esisteva...)
    L'errore 404 è quello standard di apache o quello di wordpress? Nella descrizione dell'errore qual'è l'url che non riesce a trovare? quando fai il test, rinomina l'htaccess dentro magazine.

    Originariamente inviato da Walessio
    inoltre, sia usando A che B, le pagine php con query string sono raggiungibili lo stesso.

    Riassumendo, allo stato attuale per arrivare a
    www.miosito.it/articolo.php?id=79
    posso arrivarci anche tramite
    www.miosito.it/magazine/articolo/79.html
    Ciò migliorerà o peggiorerà la SEO?
    La soluzione A a me non piace , ma son gusti personali. Dal lato SEO non so consigliarti bene, dovresti chiedere nel forum specifico. Credo però che un redirect dovrebbe essere una cosa temporanea.

    Se hai paura di contenuti duplicati e vuoi impedire la visualizzazione diretta degli URL reali, ti complichi la vita, ma si può anche fare.
    Devi creare una serie di Cond dove ti vai a controllare tramite %{ENV:variable} se esistono variabili tipo REDIRECT_STATUS o REQUEST_URI: sono vuote non c'è stato rewrite, sono valorizzate c'è stato un rewrite.
    Oppure lavori lato applicazione, se quelle variabili esistono in $_SERVER stampi un meta no index

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    209
    Salve, ripesco questo topic perchè ho fatto progressi ma c'è ancora qualcosa che non va.

    Vorrei ottenere un url rewriting che funziona in questo modo
    SE L'url è www.miosito.it/news
    ALLORA mostra la pagina www.miosito.it/news.php

    Ho provato con questa regola ma non fuziona:

    codice:
    RewriteCond %{REQUEST_URI} news RewriteRule ^news news.php [L]
    Eppure, quest'altra regola funziona:

    codice:
    RewriteCond %{REQUEST_URI} redirect/(.*) RewriteRule ^redirect/(.*) index.php?l=$1 [L]
    Questo è il codice completo del mio .htaccess
    codice:
    <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} redirect/(.*) RewriteRule ^redirect/(.*) index.php?l=$1 [L] RewriteCond %{REQUEST_URI} news RewriteRule ^news news.php [L] </IfModule>
    Cosa sbaglio?

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    209
    Alleluja! Con mia grande gioia mi autoquoto per postarvi la soluzione!

    codice:
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    #ErrorDocument 404 /index.php
    RewriteCond %{REQUEST_URI} News/([0-9]{4})/([0-9]{2})/(.*)
    RewriteRule News/([0-9]{4})/([0-9]{2})/(.*) news_dettaglio.php?y=$1&m=$2&title=$3 [L,QSA] 
    RewriteCond %{REQUEST_URI} News
    RewriteRule News news.php [L]
    RewriteCond %{REQUEST_URI} Contattaci
    RewriteRule Contattaci contattaci.php [L]
    </IfModule>
    Questa istruzione non funzionava:
    codice:
    RewriteCond %{REQUEST_URI} news
    RewriteRule ^news news.php
    [L]
    Il motivo risiedeva nel fatto che in root è presente un file news.php e il request uri www.miosito.it/news gli è equivalente, dunque non è possibile usare quell'uri come richiesta.
    Come potete vedere nel codice definitivo, ho risolto il problema scrivendo News in maiuscolo, in questo modo l'url www.miosito.it/News punta a www.miosito.it/news.php

  10. #10
    Utente di HTML.it L'avatar di Enoa
    Registrato dal
    Jul 2005
    Messaggi
    573
    Se non è un problema cambiare i link, hai risolto e meglio così

    Il comportamento che stai descrivendo è causato dall'opzione MultiViews, che rende "equivalente" l'url /news a news.php:
    http://httpd.apache.org/docs/current...e.html#options
    http://httpd.apache.org/docs/current...tml#multiviews

    nell'htaccess, prima delle istruzioni per il rewrite, aggiungi:
    codice:
    Options -MultiViews

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.