|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Mar 2000
Città: Manoppello (PE) ma il cuore è ancora a Sulmona...
Messaggi: 579
|
[Apache htaccess] ricerca stringa e redirect su sottodominio
Salve oh popolo,
stessa situazione del precedente thread www.hwupgrade.it/forum/showthread.php?t=2454730 ma nuova problematica. Riassumo: Joomla 1.7, modalità multisite sito consumer e business, il www.miosito.it è il sito principale. Definito un sottodominio business.miosito.it che punta NON alla sottocartella /business ma direttamente alla / per poter sfogliare il secondo sito di joomla (ricordo che è in multisites!) Il sito "business" è caratterizzato da una particolare stringa nei path navigati, ad esempio "bsn": www.miosito.it/qualsiasipath per il sito lato customer business.miosito.it/qualsiasipath-bsn per il sito versione business Dato che è tutto gestito dal multisites di joomla, se io vado su: www.miosito.it/qualsiasipath-bsn vedo correttamente la pagina business, ma vorrei che quando è presente la stringa "bsn" si venga redirezionati automaticamente sul business.miosito.it/qualcosa-bsn Questo sia per questione di link delle news, sia per motivi "politici". Ho provato diverse formule, ma non ho mai fatto roba simile e ogni tanto mando in loop mezzo mondo. Allo stesso modo, se qualcuno inserisce manualmente la url business.miosito.it/qualsiasipath (senza il bsn) vorrei che venisse rimandato sulla home di www.miosito.it Innanzi tutto: Si può fare via htaccess o bisogna intervenire direttamente su apache? Posto alcuni tentativi: # cerco la stringa bsn e mi sposto nel sottodominio business RewriteCond %{HTTP_HOST} http://www.miosito.it RewriteCond %{QUERY_STRING} ^(.*bsn)$ RewriteRule ^(.*)$ http://business.miosito.it/$1 [R=301,L] # FUNZIONA, più o meno..., ma mi impalla la home, che va in loop (http://business.miosito.it/http://bu...ss.miosito.it/...) RewriteCond %{HTTP_HOST} http://business.miosito.it RewriteCond %{QUERY_STRING} !^(.*bsn)$ RewriteRule .* http://www.miosito.it/home [R=301,L] Non pretendo la pappa pronta, solo qualche indicazione sulla reale fattibilità ed efficacia via htaccess, senza il rischio di compromettere troppo le prestazioni del sito Non disdegno link a documentazione per scimmie Grazie, io continuo a cercare, se trovo qualcosa aggiorno quì Ultima modifica di citus : 13-06-2012 alle 15:43. Motivo: piccole cavolate |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Mar 2000
Città: Manoppello (PE) ma il cuore è ancora a Sulmona...
Messaggi: 579
|
Auto rispondo:
sono un puzzone! Non ho bisogno di regole di rewrite... ma di redirect...! Appena funziona posto il codice, nel frattempo eventuali commenti sono comunque ben accetti |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Mar 2000
Città: Manoppello (PE) ma il cuore è ancora a Sulmona...
Messaggi: 579
|
Allora, aggiornamento, ho scritto delle regole che funzionano, ma c'è qualcosa che non torna.
La rewrite che mi permette di TORNARE al www se NON è presente una stringa mi restituisce come risultato: www.miosito.it/index.php anzichè postarsi dietro il path originale, ad esempio www.miosito.it/prodotti Ho provato a scrivere nella rewrite PIPPO e mi ha restituito www.miosito.it/PIPPPOindex.php Qualcuno mi sa suggerire qualcosa? Perchè non mi si porta dietro il path anche se indico $1 ? Altra cosa, perchè se le metto dopo le regole di joomla (come credo sia normale...) non mi scattano? Ecco il file definitivo e funzionante con bug Magari torna utile a qualcuno. RewriteBase / # regole di default dei sottodomini, create da Plesk. Ho commentato la prima riga perchè non mi serve #RewriteCond %{HTTP_HOST} ^www\.business\.miosito\.com$ [OR] RewriteCond %{HTTP_HOST} ^business\.miosito\.com$ RewriteRule ^/?$ "home\-bsn" [R=301,L] #RewriteCond %{HTTP_HOST} ^www\.business\.miosito\.it$ [OR] RewriteCond %{HTTP_HOST} ^business\.miosito\.it$ RewriteRule ^/?$ "home\-bsn" [R=301,L] # REWRITE by CITUS # cerco la stringa bsn se navigo nel www e riscrivo l'indirizzo business #RewriteCond %{HTTP_HOST} ^miosito\.it$ [OR] #commentata perchè m matchava sempre... doh... RewriteCond %{HTTP_HOST} ^www\.miosito\.it$ RewriteRule ^(.*)bsn$ "http\:\/\/business\.miosito\.it/$1bsn" [R=301,L] # se sto nel business e manca -bsn torno nel www (escludo la home-bsn) RewriteCond %{HTTP_HOST} ^business\.miosito\.it$ RewriteCond %{REQUEST_URI} !home\-bsn$ RewriteCond %{REQUEST_URI} !bsn RewriteRule ^(.*)$ "http\:\/\/www\.miosito\.it/$1" [R=301,L] #RewriteRule ^(.*)$ "http\:\/\/www\.miosito\.it/PIPPO$1" [R=301,L] provato a mettere PIPPO per verificare che scattasse la rewrite. ## 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 something within the component folder, # or for the site root, or for an extensionless URL, or the # requested URL ends with one of the listed extensions RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|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. Ultima modifica di citus : 29-06-2012 alle 11:04. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Mar 2000
Città: Manoppello (PE) ma il cuore è ancora a Sulmona...
Messaggi: 579
|
Aggiungo che provando le regole, così come sono scritte, sul sito http://htaccess.madewithlove.be/
funzionano, quindi business.miosito.it/quellochevoglio diventa correttamente www.miosito.it/quellochevoglio anzichè www.miosito.it/index.php che sembra generato perchè scatta qualche regola di joomla successivamente. Idee? |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Mar 2000
Città: Manoppello (PE) ma il cuore è ancora a Sulmona...
Messaggi: 579
|
Altra evoluzione.
Ho messo RewriteCond %{SERVER_NAME} ^business\.miosito\.it$ RewriteCond %{REQUEST_URI} !^home RewriteCond %{REQUEST_URI} !bsn RewriteRule ^(.+)$ "http\:\/\/www\.miosito\.it/$1" [R=301,L] Con ServerName anzichè HTTP_HOST. |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Mar 2000
Città: Manoppello (PE) ma il cuore è ancora a Sulmona...
Messaggi: 579
|
Sono commosso dalla partecipazione, ma continuo a scrivere perchè prima o poi a qualche sfigato servirà il percorso che ho fatto
Le regole di joomla non c'entrano niente, concentriamoci sulle rewrite specificate. FUNZIONANO. Se scrivo un indirizzo business.miosito.it/prodotti diventa correttamente www.miosito.it/prodotti Peccato che non navigo più nel sito business... perchè ottengo che: business.miosito.it/qualsiasipath-b2b diventa inesorabilmente www.miosito.it/index.php Cosa non torna??? Devo implementare una regola nuova per vedere correttamente le pagine lato business??? Ecco il file attuale: RewriteBase / # regole di default dei sottodomini, create da Plesk. Ho commentato la prima riga perchè non mi serve #RewriteCond %{HTTP_HOST} ^www\.business\.miosito\.com$ [OR] RewriteCond %{HTTP_HOST} ^business\.miosito\.com$ RewriteRule ^/?$ "home\-bsn" [R=301,L] #RewriteCond %{HTTP_HOST} ^www\.business\.miosito\.it$ [OR] RewriteCond %{HTTP_HOST} ^business\.miosito\.it$ RewriteRule ^/?$ "home\-bsn" [R=301,L] # REWRITE by CITUS # cerco la stringa bsn se navigo nel www e riscrivo l'indirizzo business #RewriteCond %{HTTP_HOST} ^miosito\.it$ [OR] #commentata perchè m matchava sempre... doh... RewriteCond %{HTTP_HOST} ^www\.miosito\.it$ RewriteRule ^(.*)bsn$ "http\:\/\/business\.miosito\.it/$1bsn" [R=301,L] # se sto nel business e manca -bsn torno nel www (escludo la home-bsn) RewriteCond %{HTTP_HOST} ^business\.miosito\.it$ RewriteCond %{REQUEST_URI} !home RewriteCond %{REQUEST_URI} !b2b RewriteRule ^(.*)$ "http\:\/\/www\.miosito\.it\/$1" [R=301,L] #RewriteRule ^(.*)$ "http\:\/\/www\.miosito\.it/PIPPO$1" [R=301,L] provato a mettere PIPPO per verificare che scattasse la rewrite. In neretto la parte imputata, se la decommento non mi funge il ritorno dal business al www. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:33.



















