Joomla.it Forum
Joomla! 3 => Joomla! 3 => : Nuklear 17 Dec 2014, 14:51:11
-
Ho installato un sito con joomla 3.3.6 all'url www.sito.com/azienda (http://www.sito.com/azienda). Dato che vorrei togliere "/azienda" dall'url del sito in modo che, per esempio, da "www.sito.com/azienda/contatti (http://www.sito.com/azienda/contatti)" diventi "www.sito.com/contatti (http://www.sito.com/contatti)" ho inserito questo codice nel file .htaccess posto nella root:
RewriteBase /azienda
RewriteRule ^$ /azienda/ [QSA,L]
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule !^(azienda)(/.*)?$ /azienda%{REQUEST_URI} [QSA,L]
Il problema è che funziona solo con l'url principale nel senso che se digito "www.sito.com (http://www.sito.com)" rimane tale e non diventa "www.sito.com/azienda (http://www.sito.com/azienda)", mentre per gli altri url rimane sempre con "'www.sito.com/azienda (http://www.sito.com/azienda)".
Cosa sbaglio?
-
Non fai prima a spostare tutto nella root? Tieni presente che con .htaccess otterrai solo un redirect ma nell'url rimarrà sempre la sottocartella. Unico modo editare il file httpdconf di apache.
-
Potrei ma non voglio per motivi miei. Comunque... Due domande:
1. per httpdconf di apache credo che mi debba rivolgere all'hosting e non credo che sia personalizzabile... vero?
2. C'è per caso un componente che permette di fare quello che ho chiesto?
-
Si fa da .htaccess ma serve solo che scrivendo l'url senza sottocartella ti manda nella sottocartella. In pratica il concetto è che se hai motivi per installare in una sottocartella forse ti serve lo spazio root per metterci qualcosa e come sai in uno spazio non possono starci due cose uguali insieme.
-
Al di là dei motivi, come si fa in .htaccess?
-
Aggiungi questa linea
RewriteRule ^azienda/(.*)$ /$1 [R=301,L]
-
In qualsiasi punto di .htaccess?
-
Mi da un loop di reindirizzamento... Scusate se mi sono intromesso ma ho anch'io lo stesso problema...
-
L'ho inserito ma l'url rimane uguale...
-
Ma se leggevi ti accorgevi che ho premesso che l'url non cambia, è solo un redirect, in pratica tu hai il sito a roma e vuoi che sia raggiungibile da milano, col redirect scrivi milano ma ti porta a roma dove appunto hai il sito. Se lo vuoi a milano e basta , lo sposti a milano, stop.
-
In pratica quello che ho fatto io con questo codice:
RewriteBase /azienda
RewriteRule ^$ /azienda/ [QSA,L]
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule !^(azienda)(/.*)?$ /azienda%{REQUEST_URI} [QSA,L]
o no?
-
Guarda quello che hai fatto tu è diverso, io ti ho dato una singola riga e comunque se il risultato è uguale allora sono buone anche quelle. Sono comunque prese dalla rete, l'importante è porre i termini di ricerca in modo che soddisfino esattamente le richieste. Alternativa è studiarsi il corretto uso dell'.htaccess.
-
Risolto! 8)
1. Ho inserito dentro .htaccess solo questo codice:
Options +FollowSymLinks
# .htaccess main domain to subdirectory redirect
# Do not change this line.
Options -Indexes
RewriteEngine on
Options +FollowSymLinks
rewritebase /
RewriteCond %{HTTP_HOST} !^www\.sito\.com$ [NC]
RewriteRule .* http://www.sito.com/ [L,R=301]
RewriteRule ^$ azienda/index.php [L]
RewriteCond %{DOCUMENT_ROOT}/azienda%{REQUEST_URI} -f
RewriteRule .* azienda/$0 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* azienda/index.php?q=$0 [QSA]
2. in configuration.php modificata la riga:
public $live_site = 'http://www.sito.com';
Grazie!