<?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[Il mod_rewrite mi crea una sottodirectory e perdo lo stile pagina]]></title><description><![CDATA[<p dir="auto">Ciao a tutti.<br />
Preannuncio che sono un nubbio per quanto riguarda il php...sto cercando di imparare...<br />
Dunque, sto usando CuteNews per l'inserimento delle news sul mio sito, tutto funziona come desidero (o quasi) e mi stavo accingendo a cercare un modo di effettuare il mod_rewrite per avere URL "migliori".<br />
Ho trovato un hack di Cutenews che pare funzionare, ma....</p>
<p dir="auto">Allora:<br />
la pagina nella quale vengono mostrate le news ha il seguente URL:<br />
<a href="http://miosito.com/news/news.php" rel="nofollow ugc">miosito.com/news/news.php</a></p>
<p dir="auto">come da hack CuteNews ho inserito, prima del comando "include" il seguente codice:</p>
<p dir="auto">#############################<br />
//Mod_rewrite<br />
ob_start();<br />
//Mod_rewrite<br />
#############################</p>
<p dir="auto">e dopo il comando "include" questo:</p>
<p dir="auto">#############################</p>
<p dir="auto">//Mod_rewrite<br />
$show_news = ob_get_contents();<br />
ob_get_clean();</p>
<p dir="auto">$script_file = end($script_url = explode("/", $HTTP_SERVER_VARS['SCRIPT_NAME']));<br />
$path = substr($HTTP_SERVER_VARS['SCRIPT_NAME'], 0, -strlen($script_file));</p>
<p dir="auto">$find = array(    /<em>post</em>/            "#".$script_file."?subaction=showfull&amp;id=(.<em>?)&amp;archive=&amp;start_from=&amp;ucat=(.</em>?)&amp;#i",<br />
/<em>postcomments</em>/    "#".$script_file."?subaction=showcomments&amp;id=(.<em>?)&amp;archive=&amp;start_from=&amp;ucat=(.</em>?)&amp;#i",<br />
/<em>postpage</em>/        "#".$script_file."?start_from=(.<em>?)&amp;ucat=&amp;archive=&amp;subaction=&amp;id=&amp;#i",<br />
/<em>archiveindex</em>/    "#".$script_file."?archive=(.</em>?)&amp;subaction=list-archive&amp;#i",<br />
/<em>archive</em>/            "#".$script_file."?subaction=showfull&amp;id=(.<em>?)&amp;archive=(.</em>?)&amp;start_from=&amp;ucat=&amp;#i",<br />
/<em>archivepage</em>/        "#".$script_file."?start_from=(.<em>?)&amp;ucat=&amp;archive=(.</em>?)&amp;subaction=list-archive&amp;id=&amp;#i",<br />
/<em>archivecomments</em>/    "#".$script_file."?subaction=showcomments&amp;id=(.<em>?)&amp;archive=(.</em>?)&amp;start_from=&amp;ucat=(.<em>)&amp;#",<br />
/<em>searchnews</em>/        "#".$script_file."?misc=search&amp;subaction=showfull&amp;id=(.</em>?)&amp;archive=&amp;cnshow=news&amp;ucat=(.<em>?)&amp;start_from=#",<br />
/<em>searcharchives</em>/    "#".$script_file."?misc=search&amp;subaction=showfull&amp;id=(.</em>?)&amp;archive=(.<em>?)&amp;cnshow=news&amp;ucat=(.</em>?)&amp;start_from=#",<br />
/<em>ncommentspage</em>/    "#".$script_file."?comm_start_from=(.<em>?)&amp;archive=&amp;subaction=showcomments&amp;id=(.</em>?)&amp;ucat=(.<em>?)&amp;#",<br />
/<em>acommentspage</em>/    "#".$script_file."?comm_start_from=(.</em>?)&amp;archive=(.<em>?)&amp;subaction=showcomments&amp;id=(.</em>?)&amp;ucat=(.*?)&amp;#",<br />
);</p>
<p dir="auto">$replace = array(    "post/\1-\2.html&amp;",<br />
"postcomments/\1-\2.html&amp;",<br />
"postpage/\1.html&amp;",<br />
"archiveindex/\1.html&amp;",<br />
"archive/\1/\2.html&amp;",<br />
"archivepage/\2/\1.html&amp;",<br />
"archivecomments/\1/\2.html&amp;",<br />
"searchnews/\1/\2",<br />
"searcharchives/\1/\2",<br />
"ncommentspage/\1/\2-\3.html&amp;",<br />
"acommentspage/\1/\2/\3.html&amp;",<br />
);</p>
<p dir="auto">$show_news = preg_replace($find,$replace,$show_news);</p>
<p dir="auto">if(!file_exists('.htaccess')){<br />
$htaccess = "RewriteEngine On\n";<br />
$htaccess .= "RewriteBase ".$path."\n\n";<br />
$htaccess .= "RewriteRule ^post/([0-9]<em>)-(.</em>).html(.<em>)$ ".$script_file."?subaction=showfull&amp;id=$1&amp;ucat=$2$3 [L,NC]\n";<br />
$htaccess .= "RewriteRule ^postcomments/([0-9]</em>)-(.<em>).html(.</em>)$ ".$script_file."?subaction=showcomments&amp;id=$1&amp;ucat=$2$3 [L,NC]\n";<br />
$htaccess .= "RewriteRule ^postpage/(.<em>).html(.</em>)$ ".$script_file."?start_from=$1$2 [L,NC]\n\n";<br />
$htaccess .= "RewriteRule ^archiveindex/(.<em>).html(.</em>)$ ".$script_file."?archive=$1&amp;subaction=list-archive$2 [L,NC]\n";<br />
$htaccess .= "RewriteRule ^archive/([0-9]<em>)/(.</em>).html(.<em>)$ ".$script_file."?subaction=showfull&amp;id=$1&amp;archive=$2$3 [L,NC]\n";<br />
$htaccess .= "RewriteRule ^archivepage/(.</em>)/(.<em>).html(.</em>)$ ".$script_file."?start_from=$2&amp;archive=$1&amp;subaction=list-archive$3 [L,NC]\n";<br />
$htaccess .= "RewriteRule ^archivecomments/(.<em>)/(.</em>).html(.<em>)$ ".$script_file."?subaction=showcomments&amp;id=$1&amp;archive=$2$3 [L,NC]\n\n";<br />
$htaccess .= "RewriteRule ^searchnews/([0-9]</em>)/(.<em>)$ ".$script_file."?misc=search&amp;subaction=showfull&amp;id=$1&amp;ucat=$2&amp;cnshow=news&amp; [L,NC]\n";<br />
$htaccess .= "RewriteRule ^searcharchives/([0-9]</em>)/(.<em>)$ ".$script_file."?misc=search&amp;subaction=showfull&amp;id=$1&amp;archive=$2&amp;cnshow=news&amp; [L,NC]\n\n";<br />
$htaccess .= "RewriteRule ^ncommentspage/(.</em>)/(.<em>)-(.</em>).html(.<em>)$ ".$script_file."?comm_start_from=$1&amp;archive=&amp;subaction=showcomments&amp;id=$2&amp;ucat=$3$4 [L,NC]\n";<br />
$htaccess .= "RewriteRule ^acommentspage/(.</em>)/(.<em>)/(.</em>).html(.*)$ ".$script_file."?comm_start_from=$1&amp;archive=$2&amp;subaction=showcomments&amp;id=$3$4 [L,NC]";</p>
<p dir="auto">$file = fopen(".htaccess", "w");<br />
fwrite($file, $htaccess);<br />
fclose($file);<br />
}</p>
<p dir="auto">echo $show_news;<br />
//Mod_rewrite</p>
<p dir="auto">######################################</p>
<p dir="auto">Senza il mod_rewrite, cliccando sui commenti della singola news visualizzata, mi si apre una pagina nella quale viene viesulaizzata la news, i commenti ed il form per l'inserimento degli stessi con URL:</p>
<p dir="auto"><a href="http://miosito.com/news/news.php?subaction=showcomments&amp;id=1328802658&amp;archive=&amp;start_from=&amp;ucat=4&amp;" rel="nofollow ugc">miosito.com/news/news.php?subaction=showcomments&amp;id=1328802658&amp;archive=&amp;start_from=&amp;ucat=4&amp;</a></p>
<p dir="auto">con il mod_rewrite invece, l'URL viene trasformato in:<br />
<a href="http://miosito.com/news/postcomments/1328802658-4.html&amp;" rel="nofollow ugc">miosito.com/news/postcomments/1328802658-4.html&amp;</a></p>
<p dir="auto">la pagina viene visualizzata, ma la creazione della nuova sottodirectory "postcomments" impedisce la corretta visualizzazione della stessa (si perde il percorso relativo del file .css).</p>
<p dir="auto">Da nubbio in cerca di risposte ho provato a mettere le mani nel codice del mod_rewrite ed ho provato ad eliminare tutte le istruzioni relative a "postcomments" ed ho ottenuto, cliccando sul link che porta alla pagina dei commenti, una pagina con URL:</p>
<p dir="auto"><a href="http://miosito.com/news/1328802658-4.html&amp;" rel="nofollow ugc">miosito.com/news/1328802658-4.html&amp;</a></p>
<p dir="auto">che mi restituisce però un errore 404.</p>
<p dir="auto">Qualcuno è in grado di aiutarmi a risolvere il problema?</p>
<p dir="auto">Grazie mille</p>
<p dir="auto">Matteo</p>
]]></description><link>https://connect.gt/topic/166253/il-mod_rewrite-mi-crea-una-sottodirectory-e-perdo-lo-stile-pagina</link><generator>RSS for Node</generator><lastBuildDate>Fri, 10 Jul 2026 10:51:12 GMT</lastBuildDate><atom:link href="https://connect.gt/topic/166253.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 14 Feb 2012 09:08:45 GMT</pubDate><ttl>60</ttl></channel></rss>