- Home
- Categorie
- La Community Connect.gt
- News Ufficiali da Connect.gt
- Problema rewirte sottocategoria in seconda lingua
-
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