.htaccess su Tophost

JtothaX

Utente Attivo
2 Ott 2013
78
0
0
Treviso
Salve amici, mi rivolgo a voi dandovi ancora fiducia piena...
La questione che vi pongo riguarda la scrittura del file .htaccess su sito in Tophost.

Riassumendo. Caricando il sito ne viene generato uno in automatico, esterno alla directory del sito.
Non viene dato modo di modificarlo, cancellarlo, nulla. Apro un ticket e mi confermano che ne occorre uno ulteriore da includere nella cartella principale del sito /htdocs/ e impostare lì la rescrittura di questi benedetti URL.

Vi posto il codice del file in questione in quanto non funge. Succede che mi appare un errore (500, mi pare) oppure il sito perda pezzi di formattazione (?) data dai CSS. Non capisco perché. Non sono per nulla esperto della materia, mi sono arrangiato ed ero convinto potesse funzionare ma mi sbagliavo.

Che potete dirmi?
Grazie in anticipo


Codice:
RewriteEngine On
RewriteBase /htdocs/
RewriteRule ^([^/]*)/([^/]*)$ /?modulo=$1&id_post=$2&titolo=$3 [L]
RewriteRule ^([^/]*)/([^/]*)$ /?modulo=$1&action=$2 [L]
 

glm2006ITALY

Moderatore
Membro dello Staff
MOD
9 Apr 2009
1.267
11
38
34
Vercelli
www.webepc.it
@JtothaX

Mi spiace che nessuno ti abbia aiutato ma un forum non è una chat, tutti abbiamo degli impegni.....
 

flameseeker

Utente Attivo
27 Nov 2013
699
0
0
Come dice glm, può succedere che non si ricevano risposte.
Io me ne sono accorto solo ora del topic, perché sono troppo pigro per aprire lo stream.

Al volo comunque, direi che la prima regola ti recupera solo 2 valori, ma tu ne specifichi 3 nella regola di replace.
La seconda regola sovrascrive la prima.

Alla luce di ciò, un errore 500 da apache è normale.


Riesci a fornire un esempio di url tipo che vorresti tradurre con le regole che hai scritto ?
 

JtothaX

Utente Attivo
2 Ott 2013
78
0
0
Treviso
:)

Sì sì tranquilli, non è che me la prendo, io stesso bazzico poco forum e blog per mancanza di tempo, era solo un modo per tenere vivo il topic...ma quindi funziona tipo come i CSS, a cascata?

Io sostenzialmente ho questo
http://www.miosito.it/?modulo=contatti
http://www.miosito.it/?modulo=blog
http://www.miosito.it/?modulo=servizi
etc, e vorrei che diventasse una cosa normale, come

http://www.miosito.it/contatti
http://www.miosito.it/blog
http://www.miosito.it/servizi

Mi occorre perché vedere un articolo del blog scritto
http://www.miosito.it/?modulo=blog&id_post=5&titolo=Titolo
è osceno, diciamocelo :)


Grazie ragazzi, as usual
 

flameseeker

Utente Attivo
27 Nov 2013
699
0
0
Più che a cascata, puoi definire semplicemente più regole insieme, solo che se entrambe hanno lo stesso pattern per il match vanno chiaramente in conflitto.
Prova ad impostare così le regole:

Codice:
RewriteEngine On
RewriteBase /htdocs/
RewriteRule ^([^/]+)/?([^/]+)?/?$ /?modulo=$1&action=$2 [L]
RewriteRule ^blog/([^/]+)/([^/]+)/?$ /?modulo=blog&id_post=$1&titolo=$2 [L]
La url del blog, per fare un esempio dovrà essere qualcosa tipo: miosito.it/blog/5/Titolo


Considera comunque che parlo meramente in ambito di UrlRewrite e htaccess, se TopHost ha qualche altra impostazione particolare di cui tenere conto non so dirti.
 

JtothaX

Utente Attivo
2 Ott 2013
78
0
0
Treviso
Più che a cascata, puoi definire semplicemente più regole insieme, solo che se entrambe hanno lo stesso pattern per il match vanno chiaramente in conflitto.
Prova ad impostare così le regole:

Codice:
RewriteEngine On
RewriteBase /htdocs/
RewriteRule ^([^/]+)/?([^/]+)?/?$ /?modulo=$1&action=$2 [L]
RewriteRule ^blog/([^/]+)/([^/]+)/?$ /?modulo=blog&id_post=$1&titolo=$2 [L]
Ho provato ad inserire questo pezzo di codice ma non arriva al sito.
Segnala un errore 500. Anche rimuovendo /htdocs/ dalla seconda riga.
Uff...neanche gli stessi chiedendo chissà cosa...

:(
 

JtothaX

Utente Attivo
2 Ott 2013
78
0
0
Treviso
Buone nuove

Questo frammento di codice, invece, non ha dato problemi.
Forse un punto di partenza ce l'ho, finalmente...

Codice:
RewriteEngine On
RewriteBase /htdocs/
RewriteRule ^blog/([^/]+)/([^/]+)/?$ /?modulo=blog&id_post=$1&titolo=$2 [L]
Non mi ha comunque restituito un URL riscritto.
Almeno non nel momento in cui scriviamo, come si dice :)
 

JtothaX

Utente Attivo
2 Ott 2013
78
0
0
Treviso
Allora. Fermi tutti, che forse qualcosa si muove.
No, non mi pare sia difficile, anche perché ho notato che online ci sono generatori di supporto per far scrivere le regole anche a chi non mastica la materia. Ho messo che sei un genio perché non ho a disposizione il bottone "ti amo, porca miseria!!"...

Prima cosa: questo benedetto file httpd.conf dove caspita me lo vado a pescare? Sono entrato su Tophost e ho cercato senza trovare nulla (a meno che non sia del tutto rimbecillito, cosa comunque non impossibile, eh). Vado a spulciare il file sysem del sito ma non trovo comunque nulla.

Dove sta? Così lo apro e ci metto mano...
Che sta cosa della rescrittura URL mi sta sfiancando.
Ad ogni modo grazie mille, bwoey
 

JtothaX

Utente Attivo
2 Ott 2013
78
0
0
Treviso
Ulteriore aggiornamento.
Ho aperto un ticket con Tophost per avere chiarimenti sulla faccenda. Come anche specificato nelle FAQ della loro sezione supporto, cito testualmente:
Il piano hosting topweb viene fornito con il mod_rewrite abilitato. Per utilizzarlo basta creare un file .htaccess con le opportune direttive.

Ricordiamo di inserire sempre la direttiva:
RewriteBase /

dove / e' il path del file .htaccess; pertanto se il file .htaccess si trova nella sottocartella demo dovra' essere:
RewriteBase /demo/
Ragion per cui non capisco come mai il mio file htaccess, che è questo qui:
Codice:
RewriteEngine On
RewriteBase /htdocs/
RewriteRule ^blog/([^/]+)/([^/]+)/?$ /?modulo=blog&id_post=$1&titolo=$2 [L]
...ancora non funziona.

Le cose sono due: o è una congiura nei miei confronti da parte di Tophost oppure qualcosa non quadra nel codice. Ma mi pare di capire che almeno su quello ci siamo. No?

Aiutooo
 

JtothaX

Utente Attivo
2 Ott 2013
78
0
0
Treviso
prova con un'installazione LAMP/WAMP/MAMP in locale in modo da poteri provare il codice .htaccess prima di rilasciarlo online!
Ora non so se funzioni, forse non del tutto, non so.
Digitando io manualmente la URL
http://www.miosito./contatti.html
mi va correttamente alla pagina.

Usando il menu di navigazione del sito invece l'indirizzo torna ad essere quello dinamico con PHP.
Come mi devo muovere adesso?
 

JtothaX

Utente Attivo
2 Ott 2013
78
0
0
Treviso
Oh, ma niente niente che c'ero già alla soluzione?!
Sono proprio ciecato, altro che.

Cito questa fonte qui: FONTE DELLA (MIA) SALVEZZA

...cos'è adesso devo riaprirmi i file php che compongono il mio sito e modificare i link costruiti dinamicamente come che invece fossero statici?! Per carità, un po' lunga come tiritera ma...se è la soluzione lo faccio più che volentieri. Così la smetterete di odiarmi...


:)
 

flameseeker

Utente Attivo
27 Nov 2013
699
0
0