- Home
- Categorie
- La Community Connect.gt
- News Ufficiali da Connect.gt
- Problema rewirte sottocategoria in seconda lingua
-
Problema rewirte sottocategoria in seconda lingua
```Salve ho un problema sul sito ganeshcom.com o meglio sul sottodominio italiano it.ganeshcom.com dove le pagine tipo it.ganeshcom.com/company funzionano correttamente mentre quelle del tipo it.ganeshcom.com/network/30mag-innovation-and-creativity-web-magazine mi danno errore sul server interno. ecco il codice del file .htaccess:
Options +FollowSymlinks
RewriteEngine onMULTILINGUAL SUBDOMAIN SETTINGS
RewriteCond %{HTTP_HOST} ^(it).ganeshcom.com
RewriteRule ^(.*)$ $1?lan=%1&%{QUERY_STRING}RewriteCond %{HTTP_HOST} ^en.ganeshcom.com
RewriteRule ^(.*)$ www . ganeshcom . com/$1 [QSA,L]ErrorDocument 404 /
RewriteRule ^([^/.]+)/([^/.]+)/?$ /index.php?cat=$1&art=$2 [QSA,L]
RewriteRule ^([^/.]+)/?$ /index.php?cat=$1 [QSA,L](la nona riga è con http :// e tutto attaccato ma il forum non me lo fà inserire come si deve)
-
Ciao emiliano84,
se le regole relative al sottodominio en funzionano perché non le utilizzi anche per il sottodominio it?
-
ciao e grazie per essere stato il primo a rispondere...purtroppo non l'ho evidenziato nella descrizione del problema e uno che non giarda attentamente il codice fà il tuo ragionamento. in realtà il codice del sottodominio en fà un redirect al sito principale www spero di essere stato chiaro.
-
Credevo che dominio e sottodomini avessero la stessa Document Root
-
Ciao ayrton, io sono un pò ignorante in modrewrite ho fatto sempre tutto da autodidatta andando un pò a tentativi. i file e le cartelle del sito sono le stesse per entrambe le lingue poi tramite codice php/mysql e la variabile lan vengono caricati i contenuti della lingua desiserata. spero che mi riesci a dare una mano anche riscrivendo le righe relative alla lingua come mi consiglieresti tu.
grazie
-
Prova aggiungendo alla regola:
RewriteRule ^(.*)$ $1?lan=%1&%{QUERY_STRING} ****
-
Scusami, rileggendo credo che il problema sia dato dal fatto che manca lo slash iniziale:
RewriteRule ^(.*)$ **/**$1?lan=%1&%{QUERY_STRING}
-
nada
mettendoci la rimane sempre nella home page
aggiugendoci lo / mi dà sempre errore 500possibile che sia talmente complicato? io prima tutilizzavo questo codice qui ma mi scoccio di dover aggiungere ogni volta la categoria:
# MULTILINGUAL SUBDOMAIN SETTINGS RewriteCond %{HTTP_HOST} ^(en|it)\.doctmag\.com RewriteRule ^(.*)$ $1?lan=%1&%{QUERY_STRING} RewriteRule ^medicina-specialistica/page/(.*)$ /index.php?cat=medicina-specialistica&page=$1 [QSA,L] RewriteRule ^medicina-specialistica/(.*)$ /index.php?cat=medicina-specialistica&art=$1 [QSA,L]
considera che le ultime 2 righe vanno fatte per ogni categoria del sito 4 volte la prima per la categoria e la seconda per gli articoli interni e entrambe in 2 lingue
-
Le ultime regole che hai postato si "generalizzano" così:
RewriteRule ^(.*)/page/(.*)$ /index.php?cat=$1&page=$2 [QSA,L] RewriteRule ^(.*)/(.*)$ /index.php?cat=$1&art=$2 [QSA,L]
-
Ayrton mi sono dimenticato che c'è un altra regola da genralizzare
RewriteRule ^medicina-specialistica /index.php?cat=medicina-specialistica [QSA,L]
si geenralizza così?
RewriteRule ^(.*)$ /index.php?cat=$1 [QSA,L]
-
Si, da mettere però come ultima regola.
-
ciao ayrton purtroppo stò continuando ad impazzire ma il problema non si risolve...ripartiamo da 0 allora devo creare un file ht access che mi generalizzi la seguente regola
RewriteRule ^network /(.*)$ /index.php?cat=network &art=$1 [QSA,L] RewriteRule ^network /index.php?cat=network [QSA,L]
le ho generalizzate così e non ci sono problemi:
Options +FollowSymlinks RewriteEngine on ErrorDocument 404 / RewriteCond %{REQUEST_URI} !^(.*)/rss/(.*)$ RewriteRule ^([^/\.]+)/([^/\.]+)/?$ /index.php?cat=$1&art=$2 [QSA,L] RewriteRule ^([^/\.]+)/?$ /index.php?cat=$1 [QSA,L]
il rpoblema si viene a creare quando voglio passare la variabile di linguaggio it in caso di collegamento al sottodominio it.ganeshcom.com con il seguente codice...la categoria funziona ma la sottocategoria no
Options +FollowSymlinks RewriteEngine on # MULTILINGUAL SUBDOMAIN SETTINGS RewriteCond %{HTTP_HOST} ^(it)\.ganeshcom\.com RewriteRule ^(.*)$ $1?lan=%1&%{QUERY_STRING} ErrorDocument 404 / RewriteCond %{REQUEST_URI} !^(.*)/rss/(.*)$ RewriteRule ^([^/\.]+)/([^/\.]+)/?$ /index.php?cat=$1&art=$2 [QSA,L] RewriteRule ^([^/\.]+)/?$ /index.php?cat=$1 [QSA,L]
è come se la parte di codice relativa al sottodominio multilingua non passasse bene la categoria+sottocategoria separate da / e il server mi restituisce errore 500
se utilizzo le stringhe generalizzate da te
RewriteRule ^(.*)/(.*)$ /index.php?cat=$1&art=$2 [QSA,L] RewriteRule ^(.*)$ /index.php?cat=$1 [QSA,L]
mi dà sempre errore 500
infine ho anche provato ad utilizzare questa stringa
RewriteRule ^([^/\.]+)$ $1?lan=%1&%{QUERY_STRING}
funziona tutto ma non mi passa la variabile lan
x
x
x
x
x
GRAZIE DI CUORE SE SARAI SEMPRE COSì GENTILE DA PROVARE A DARMI UNA MANO
-
Prova cosi:
Options +FollowSymlinks RewriteEngine on # MULTILINGUAL SUBDOMAIN SETTINGS RewriteCond %{HTTP_HOST} ^it.ganeshcom.com RewriteCond %{REQUEST_URI} !^(.*)/rss/(.*)$ RewriteRule ^([^/\.]+)/([^/\.]+)/?$ /index.php?cat=$1&art=$2&lan=it [QSA,L] RewriteRule ^([^/\.]+)/?$ /index.php?cat=$1&lan=it [QSA,L] RewriteCond %{HTTP_HOST} ^www.ganeshcom.com RewriteCond %{REQUEST_URI} !^(.*)/rss/(.*)$ RewriteRule ^([^/\.]+)/([^/\.]+)/?$ /index.php?cat=$1&art=$2 [QSA,L] RewriteRule ^([^/\.]+)/?$ /index.php?cat=$1 [QSA,L] ErrorDocument 404 /
-
così abbiamo sistemato alcune cose e rovinato altre
ho dovuto fare delle picole modifiche: ho aggiunto la lingua inglese a www e ho eliminato le righe relative all'rss che sono ininfluenti:
Options +FollowSymlinks RewriteEngine on # MULTILINGUAL SUBDOMAIN SETTINGS RewriteCond %{HTTP_HOST} ^it.ganeshcom.com RewriteRule ^([^/\.]+)/([^/\.]+)/?$ /index.php?cat=$1&art=$2&lan=it [QSA,L] RewriteRule ^([^/\.]+)/?$ /index.php?cat=$1&lan=it [QSA,L] RewriteCond %{HTTP_HOST} ^www . ganeshcom.com RewriteRule ^([^/\.]+)/([^/\.]+)/?$ /index.php?cat=$1&art=$2&lan=en [QSA,L] RewriteRule ^([^/\.]+)/?$ /index.php?cat=$1&lan=en [QSA,L] ErrorDocument 404 /
ora i problemi che si verificano sono 2:
- nella home page italiana rimane la lingua inglese
- nella categoria inglese rimane la liguia italiana
ti disturbo quest'ultima volta se no proverò soluzioni alternative (come recuperare il sottodominio tramite php ) ...grazie
-
@emiliano84 said:
ora i problemi che si verificano sono 2:
- nella home page italiana rimane la lingua inglese
- nella categoria inglese rimane la liguia italiana
La home page è nella forma "/" oppure "/index.html" o altra?
@emiliano84 said:ti disturbo quest'ultima volta se no proverò soluzioni alternative (come recuperare il sottodominio tramite php ) ...grazie
Nessun disturbo. In PHP puoi fare benissimo cosi:
splitti $_SERVER['HTTP_HOST'] tramite il "." ed il primo valore dell'array sarà "www" oppure "it".
-
sono stato talmente impegnato che ho dimenticato di segnalarvi che ho risolto definitamente con il seguente codice:
Options +FollowSymlinks RewriteEngine on RewriteBase / RewriteRule ^([^/\.]+)/page/([^/\.]+)/?$ /index.php?cat=$1&page=$2 [QSA,L] RewriteRule ^([^/\.]+)/([^/\.]+)/?$ /index.php?cat=$1&art=$2 [QSA,L] RewriteRule ^([^/\.]+)/?$ /index.php?cat=$1 [QSA,L]
prendendomi il codice della lingua tramite php http_post
grazi mille per l'aiuto ayrton