<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Rewrite: Indirizzo con ? Nell&#x27;url]]></title><description><![CDATA[<p dir="auto">Salve a tutti,</p>
<p dir="auto">prima di sottoporre il problema in titolo, premetto che ho fatto una ricerca all'interno di questo <em>forum</em> ma non ho trovato elementi utili alla soluzione.</p>
<p dir="auto">Ho un file .htaccess che contiene la seguente regola di riscrittura</p>
<pre><code> Codice:
 RewriteRule ^([^/]+)_([^/]+).html$ mostra_sezione.php?nome_sezione=$1&amp;id_sezione=$2  
</code></pre>
<p dir="auto">In sostanza, dovrebbe uscire ( e funziona ) un url   del tipo nome_sezione_id_sezione.html .</p>
<p dir="auto">Sorgono dei problemi quando all'interno della variabile nome_sezione compare un ?.<br />
Ad esempio, se la sezione si chiama "nome sezione?" , la regola sopra inserita non funziona, dato che il carattere ? non è interpretato, per l'appunto, come carattere testuale ma come carattere speciale; di conseguenza l'indirizzo si ferma all'elemento della stringa che lo precede.</p>
<p dir="auto">Sicuramente bisognerà utilizzare l'escape ? ; così ho letto da diverse parti.</p>
<p dir="auto">Quello che non riesco a capire, però, è dove inserirlo all'interno della regola di riscrittura.</p>
<p dir="auto">Chiedo scusa per la prolissità, ma ho cercato di illustrare nel modo più esaustivo possibile il problema, cercando di rispettare quando indicato nel regolamento del forum.</p>
<p dir="auto">Grazie a tutti per la disponib</p>
]]></description><link>https://connect.gt/topic/99890/rewrite-indirizzo-con-nell-url</link><generator>RSS for Node</generator><lastBuildDate>Fri, 09 Oct 2026 23:22:38 GMT</lastBuildDate><atom:link href="https://connect.gt/topic/99890.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 21 Apr 2009 16:18:44 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Rewrite: Indirizzo con ? Nell&#x27;url on Thu, 23 Apr 2009 23:11:55 GMT]]></title><description><![CDATA[<p dir="auto">credo di aver risolto la maggior parte dei miei problemi.</p>
<p dir="auto">erano dovuti tutti a una questione di link.</p>
<p dir="auto">adattandoli e utilizzando una variabile come percorso assoluto sembra che tutto funzioni. ( sgrrraaaat )</p>
<p dir="auto">grazie!</p>
]]></description><link>https://connect.gt/post/825552</link><guid isPermaLink="true">https://connect.gt/post/825552</guid><dc:creator><![CDATA[massiterni]]></dc:creator><pubDate>Thu, 23 Apr 2009 23:11:55 GMT</pubDate></item><item><title><![CDATA[Reply to Rewrite: Indirizzo con ? Nell&#x27;url on Thu, 23 Apr 2009 22:37:08 GMT]]></title><description><![CDATA[<p dir="auto">Ho provato a seguire i tuoi consigli, sperimentandolo su una pagina specifica.</p>
<p dir="auto">la pagina</p>
<p dir="auto">mostra_categoria.php?alias_sezione=$alias_sezione&amp;id_sezione=$id_sezione</p>
<p dir="auto">è diventata</p>
<p dir="auto">alias_sezione/categoria_id_sezione</p>
<p dir="auto">tramite questa regola nel file htaccess</p>
<pre><code>
RewriteEngine On
RewriteRule ^([^/]+)/categoria_([^/]+)$ mostra_categoria.php?alias_sezione=$1&amp;id_sezione=$2 

</code></pre>
<p dir="auto">All'interno di questa pagina ci sono:</p>
<ol>
<li>
<p dir="auto">comandi php include &gt;&gt; funzionano</p>
</li>
<li>
<p dir="auto">link ad altre categorie ( che passano ai link i valori alias2 e id_sezione2 per mostrare la relativa pagina)</p>
</li>
</ol>
<p dir="auto">E' il punto 2 a darmi problemi.</p>
<p dir="auto">il link riscritto dovrebbe essere</p>
<p dir="auto">nome_dominio/alias_sezione2/id_sezione2</p>
<p dir="auto">invece la stringa me lo passa come</p>
<p dir="auto">nome_dominio/alias_sezione/alias_sezione2/categoria_id_sezione2</p>
<p dir="auto">in pratica la riscrittura crea una sottodirectory.</p>
<p dir="auto">Potrebbe funzionare se impostassi i link che richiamano la sezione 2 in questo modo</p>
<p dir="auto">../alias_sezione2/categoria_id_sezione2 ?</p>
<p dir="auto">Grazie! <img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=cne14qcbr9u" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" title=":)" alt="🙂" /></p>
]]></description><link>https://connect.gt/post/825551</link><guid isPermaLink="true">https://connect.gt/post/825551</guid><dc:creator><![CDATA[massiterni]]></dc:creator><pubDate>Thu, 23 Apr 2009 22:37:08 GMT</pubDate></item><item><title><![CDATA[Reply to Rewrite: Indirizzo con ? Nell&#x27;url on Thu, 23 Apr 2009 19:44:23 GMT]]></title><description><![CDATA[<blockquote></blockquote>
<p dir="auto">I caratteri speciali non ci devono essere. Possono succedere varie <em>porcate</em> tipo conversione in entità HTML o %hex.</p>
<p dir="auto">Io mi son fatto una mia funzione (che mi tengo ben stretto.. ma se ne trovano in vari script: wordpress, ...) che funziona così:<br />
f("ABcdì") = abcdi</p>
<p dir="auto">Considera che quando ti prendi un URL tipo pagina.php?id=$1&amp;titolo=$2, $2 (abcdi) lo butti via perchè non puoi tornare indietro (a ABcdì). Per caricare i dati, devi basarti sulla chiave primaria ($1)</p>
<p dir="auto">(questo era per rispondere a come rilavorare la stringa dopo averla presa: non va proprio presa)</p>
<p dir="auto">Grazie.<br />
Proprio oggi ho cambiato un pò di script, impostando le query e i passaggi via get utilizzando solo il parametro id.</p>
<p dir="auto">Per quanto riguarda la funzione, pensavo di utilizzare questa qui:</p>
<pre><code>
**function puliscistringa($stringa)
{
$stringa = str_replace("à", "a", $stringa);
$stringa = str_replace("è", "e", $stringa);
$stringa = str_replace("à", "a", $stringa);
$stringa = str_replace("ì", "i", $stringa);
$stringa = str_replace("ù", "u", $stringa);
$stringa = ereg_replace("[^A-Za-z0-9 ]", "", $stringa );
return $stringa;
}
**
</code></pre>
<blockquote></blockquote>
<p dir="auto">I link non funzionavano, cioè? 404? Che errore hai?<br />
Il redirect 30<strong>1</strong> serve per fare appunto.. un redirect da una pagina che non esiste più (esempio: pagina.php?$1,$2) verso la nuova ($1/$2.html)</p>
<p dir="auto">Si mi dava il 404, ma probabilmente era un'impostazione errata dei miei link.</p>
<p dir="auto">L'errore veniva generato nei link che facevano parte del menu top ( un menu sempre presente in tutte le pagine, configurato basandomi su una variabile di tipo $percorso_assoluto, configurata nel file config.php.)</p>
<p dir="auto">Un altro problema da considerare è che in una pagina ho anche un iframe ( sono stato costretto ).</p>
<p dir="auto">Insomma, un bel macello, soprattutto per chi, come me, è pochissimo tempo che ha scoperto l'uso del file htaccess e vorrebbe adattarlo a un cms realizzato in casa.</p>
<p dir="auto">comunque grazie, continuerò a romperti le scatole <img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/android/1f604.png?v=cne14qcbr9u" class="not-responsive emoji emoji-android emoji--smile" title=":D" alt="😄" /></p>
]]></description><link>https://connect.gt/post/825550</link><guid isPermaLink="true">https://connect.gt/post/825550</guid><dc:creator><![CDATA[massiterni]]></dc:creator><pubDate>Thu, 23 Apr 2009 19:44:23 GMT</pubDate></item><item><title><![CDATA[Reply to Rewrite: Indirizzo con ? Nell&#x27;url on Thu, 23 Apr 2009 19:05:10 GMT]]></title><description><![CDATA[<ol>
<li></li>
</ol>
<p dir="auto">I caratteri speciali non ci devono essere. Possono succedere varie <em>porcate</em> tipo conversione in entità HTML o %hex.</p>
<p dir="auto">Io mi son fatto una mia funzione (che mi tengo ben stretto.. ma se ne trovano in vari script: wordpress, ...) che funziona così:<br />
f("ABcdì") = abcdi</p>
<p dir="auto">Considera che quando ti prendi un URL tipo pagina.php?id=$1&amp;titolo=$2, $2 (abcdi) lo butti via perchè non puoi tornare indietro (a ABcdì). Per caricare i dati, devi basarti sulla chiave primaria ($1)</p>
<p dir="auto">(questo era per rispondere a come rilavorare la stringa dopo averla presa: non va proprio presa)</p>
<ol start="2">
<li></li>
</ol>
<p dir="auto">Domanda interessante. Io faccio come mi torna più comodo (a volte in una cartella devo ridefinire qualcosa o fare qualcos'altro e quindi faccio .htaccess specifici per ogni cartella).<br />
Comunque è ininfluente (quando tutto funziona, almeno :D). Forse non per le prestazioni (bisogna vedere quanti utenti hai e fare delle prove).</p>
<ol start="3">
<li></li>
</ol>
<p dir="auto">I link non funzionavano, cioè? 404? Che errore hai?<br />
Il redirect 30<strong>1</strong> serve per fare appunto.. un redirect da una pagina che non esiste più (esempio: pagina.php?$1,$2) verso la nuova ($1/$2.html)</p>
]]></description><link>https://connect.gt/post/825548</link><guid isPermaLink="true">https://connect.gt/post/825548</guid><dc:creator><![CDATA[osvi]]></dc:creator><pubDate>Thu, 23 Apr 2009 19:05:10 GMT</pubDate></item><item><title><![CDATA[Reply to Rewrite: Indirizzo con ? Nell&#x27;url on Wed, 22 Apr 2009 12:48:48 GMT]]></title><description><![CDATA[<p dir="auto">Intanto ti ringrazio per la risposta.</p>
<p dir="auto">La questione fondamentale è che non sono pratico di espressioni regolari e di htaccess.</p>
<p dir="auto">Ho letto in giro per la rete e ho provato a configurare un htaccess da solo, "raccapezzando" pezzi .</p>
<p dir="auto">Dovrei ripulire tramite una funzione php che ripulisce le stringhe dai caratteri speciali, tipo questa ```<br />
ereg_replace("[^A-Za-z0-9 ]</p>
<pre><code class="language-,">
Fondamentalmente il problema è questo:

il sito che sto progettando è strutturato in contenuti associati a sottocategorie. Queste ultime sono a loro volta organizzate in categorie e in,  livello "madre", sezioni.

Le pagine in php create sono:

mostra_sezione.php &gt;&gt; mostra l'elenco delle sezioni di secondo livello associate a quella "Madre", passando per get l'alias della sezione e il suo id

mostra_categoria &gt;&gt; mostra le sezioni di secondo terzo livello, passando gli stessi parametri di cui sopra

mostra_lista_contenuti.php &gt;&gt; mostra i contenuti associati a una sezione di terzo livello, passando anche questa gli stessi parametri.

contenuto.php &gt;&gt; riceve via get l'id del contenuto 

il sito è realizzato in cinque lingue, ognuna delle quali risiede in una cartella, generando, quindi un url del tipo

</code></pre>
<p dir="auto"><a href="http://dominio.it/LINGUA/" rel="nofollow ugc">dominio.it/LINGUA/</a></p>
<pre><code class="language-mi">
</code></pre>
<p dir="auto"><a href="http://dominio.it/LINGUA/SEZIONE_MADRE/SECONDO_LIVELLO/TERZO_LIVELLO/titolo_contenuto" rel="nofollow ugc">dominio.it/LINGUA/SEZIONE_MADRE/SECONDO_LIVELLO/TERZO_LIVELLO/titolo_contenuto</a></p>
<pre><code class="language-ovviamente">
</code></pre>
<p dir="auto">mostra_sezione.php &gt;&gt; <a href="http://dominio.it/LINGUA/SEZIONE_MADRE" rel="nofollow ugc">dominio.it/LINGUA/SEZIONE_MADRE</a></p>
<p dir="auto">mostra_categoria.php &gt;&gt; <a href="http://dominio.it/LINGUA/SEZIONE_MADRE/SEZIONE_SECONDO_LIVELLO" rel="nofollow ugc">dominio.it/LINGUA/SEZIONE_MADRE/SEZIONE_SECONDO_LIVELLO</a></p>
<p dir="auto">mostra_lista_contenuti &gt;&gt; <a href="http://dominio.it/LINGUA/SEZIONE_MADRE/SEZIONE_SECONDO_LIVELLO/TERZO_LIVELLO" rel="nofollow ugc">dominio.it/LINGUA/SEZIONE_MADRE/SEZIONE_SECONDO_LIVELLO/TERZO_LIVELLO</a></p>
<pre><code>I miei dubbi riguardano:

1) il fatto dei caratteri speciali nel campo alias sezione

2) se mettere un htaccess in ogni cartella delle 5 lingue o uno solo nella root principale

3) come gestire i link, dato che feci una prova in questa direzione ma i link non funzionavano; credo che sia necessario qualche redirect 303, ma non so come fare.

Ti ringrazio nuovamente</code></pre>
]]></description><link>https://connect.gt/post/825549</link><guid isPermaLink="true">https://connect.gt/post/825549</guid><dc:creator><![CDATA[massiterni]]></dc:creator><pubDate>Wed, 22 Apr 2009 12:48:48 GMT</pubDate></item><item><title><![CDATA[Reply to Rewrite: Indirizzo con ? Nell&#x27;url on Tue, 21 Apr 2009 22:02:56 GMT]]></title><description><![CDATA[<p dir="auto">Dato che il <strong>?</strong> dovrebbe essere uno solo (delimita la query string dal file) non so di preciso cosa accade mettendone due (non ho tempo di provare ora, magari un print_r($_GET) ti fa capire cosa accade)</p>
<p dir="auto">In genere si eliminano caratteri strani dagli indirizzi.. si tolgono le lettere accentate, figurati un punto interrogativo.<br />
Tra l'altro non è neppure una buona riscrittura: la forma è quella di un indirizzo dinamico.</p>
<p dir="auto">Io eliminerei proprio il carattere (dovresti avere una funzione che ripulisce le stringhe degli indirizzi).</p>
]]></description><link>https://connect.gt/post/825547</link><guid isPermaLink="true">https://connect.gt/post/825547</guid><dc:creator><![CDATA[osvi]]></dc:creator><pubDate>Tue, 21 Apr 2009 22:02:56 GMT</pubDate></item></channel></rss>