<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>rewrite &#8211; SMsoft &#8211; informatica e dintorni</title>
	<atom:link href="https://blog.smsoft.it/tag/rewrite/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.smsoft.it</link>
	<description>consigli settimanali su MacOS, GNU/Linux ed Open Source</description>
	<lastBuildDate>Wed, 10 Jul 2024 07:05:48 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=98129</generator>
	<item>
		<title>Angular: codice di rewrite per Apache</title>
		<link>https://blog.smsoft.it/2024/07/16/angular-codice-di-rewrite-per-apache/</link>
					<comments>https://blog.smsoft.it/2024/07/16/angular-codice-di-rewrite-per-apache/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 16 Jul 2024 08:30:00 +0000</pubDate>
				<category><![CDATA[Html e PHP]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[angular]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[rewrite]]></category>
		<guid isPermaLink="false">https://blog.smsoft.it/?p=6376</guid>

					<description><![CDATA[Le applicazioni scritte in angular hanno l&#8217;entry point nel file index.html che poi gestisce anche il routing per le pagine interne. Dopo un po&#8217; di prove, questo il codice di rewrite che meglio funziona per gestire il redirect su Apache: enjoy!]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Le applicazioni scritte in angular hanno l&#8217;entry point nel file index.html che poi gestisce anche il routing per le pagine interne. Dopo un po&#8217; di prove, questo il codice di rewrite che meglio funziona per gestire il redirect su Apache:</p>



<pre class="wp-block-code"><code>      DirectoryIndex index.html
      ErrorDocument 404 /index.html
      RewriteEngine On
      RewriteBase /
      RewriteRule ^index\.html$ - &#91;L]
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule . /index.html &#91;L,R=301]</code></pre>



<p class="wp-block-paragraph">enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2024/07/16/angular-codice-di-rewrite-per-apache/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Apache: come abilitare il debug per le regole di rewrite</title>
		<link>https://blog.smsoft.it/2021/04/13/apache-come-abilitare-il-debug-per-le-regole-di-rewrite/</link>
					<comments>https://blog.smsoft.it/2021/04/13/apache-come-abilitare-il-debug-per-le-regole-di-rewrite/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 13 Apr 2021 08:30:00 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[rewrite]]></category>
		<guid isPermaLink="false">https://blog.smsoft.it/?p=4925</guid>

					<description><![CDATA[Vi è capitato che dopo aver aggiunto una serie di regole di rewrite nel vostro .htaccess il sito inizi a mostrare un errore 403 su alcune URL e non si riesce a capire quale sia la regole di rewrite che lo scatena? In questo caso bisogna fare un po&#8217; di debug, innanzitutto abilitando il log ... <a title="Apache: come abilitare il debug per le regole di rewrite" class="read-more" href="https://blog.smsoft.it/2021/04/13/apache-come-abilitare-il-debug-per-le-regole-di-rewrite/" aria-label="Per saperne di più su Apache: come abilitare il debug per le regole di rewrite">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Vi è capitato che dopo aver aggiunto una serie di regole di rewrite nel vostro .htaccess il sito inizi a mostrare un errore 403 su alcune URL e non si riesce a capire quale sia la regole di rewrite che lo scatena?</p>



<p class="wp-block-paragraph">In questo caso bisogna fare un po&#8217; di debug, innanzitutto abilitando il log nel file in cui c&#8217;è la definizione del VirtualHost. Possiamo abilitare un <a rel="noreferrer noopener" href="http://httpd.apache.org/docs/current/mod/core.html#loglevel" target="_blank">log più o meno verboso</a> per le regole di rewrite, diciamo che possiamo iniziare aggiungendo <strong>nel file del VirtualHost</strong> questa direttiva:</p>



<pre class="wp-block-preformatted">LogLevel alert rewrite:trace6</pre>



<p class="wp-block-paragraph">anche se probabilmente basterebbe solo:</p>



<pre id="block-3bda0c53-154d-4833-8eb5-2b988c2cbf21" class="wp-block-preformatted">LogLevel alert rewrite:trace4</pre>



<p class="wp-block-paragraph">Fatto questo, basta un:</p>



<pre class="wp-block-preformatted">service apache2 reload</pre>



<p class="wp-block-paragraph">e poi andiamo a controllare il file <strong>ErrorLog</strong> definito per il VirtualHost. All&#8217;interno troveremo una serie di righe che terminano con <strong>not-matched</strong> e queste non ci interessano, ma ad un certo punto troveremo anche una o più, in base alla situazione, righe che terminano con <strong>matched</strong>.</p>



<p class="wp-block-paragraph">Bene, la riga che termina con <strong>matched</strong> riporta anche un parametro chiamato <strong>pattern</strong> che ci permetterà di individuare, nel nostro file <strong>.htaccess</strong>, la regola di rewrite che ci interessa.</p>



<p class="wp-block-paragraph">enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2021/04/13/apache-come-abilitare-il-debug-per-le-regole-di-rewrite/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Effettuare un redirect 301</title>
		<link>https://blog.smsoft.it/2013/05/07/effettuare-un-redirect-301/</link>
					<comments>https://blog.smsoft.it/2013/05/07/effettuare-un-redirect-301/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 07 May 2013 09:47:49 +0000</pubDate>
				<category><![CDATA[Html e PHP]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[redirect 301]]></category>
		<category><![CDATA[rewrite]]></category>
		<guid isPermaLink="false">http://blog.smsoft.it/?p=2360</guid>

					<description><![CDATA[Con &#8220;redirect 301&#8221; si intende una procedura che permette di redizionare il visitatore di una pagina verso un altro indirizzo web. In pratica, il server web viene informato (con apposita direttiva di rewrite) che se arriva una richiesta ad un certo indirizzo, deve informare il browser di effettuare il caricamento di un&#8217;altra pagina. Questo sistema ... <a title="Effettuare un redirect 301" class="read-more" href="https://blog.smsoft.it/2013/05/07/effettuare-un-redirect-301/" aria-label="Per saperne di più su Effettuare un redirect 301">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[<p>Con &#8220;redirect 301&#8221; si intende una procedura che permette di redizionare il visitatore di una pagina verso un altro indirizzo web. In pratica, il server web viene informato (con apposita direttiva di rewrite) che se arriva una richiesta ad un certo indirizzo, deve informare il browser di effettuare il caricamento di un&#8217;altra pagina.<br />
Questo sistema è spesso usato per ottimizzazioni SEO e soprattutto quando delle pagine vengono cancellate/rinominate e non si vuole perdere indirizzazione o si vuole evitare di visualizzare una pagina con errore 404.</p>
<p>Come fare? Basta inserire la direttiva di rewite nel nostro file .htaccess. Ad esempio:</p><pre class="urvanov-syntax-highlighter-plain-tag">redirect 301 /dir/pagina.html http://www.dominio.ext/nuovapagina.html</pre><p></p>
<p>da ora in poi, i browser che richiederanno <strong>/dir/pagina.html</strong> verranno automaticamente  rediretti verso <strong>http://www.dominio.ext/nuovapagina.html</strong></p>
<p>enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2013/05/07/effettuare-un-redirect-301/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Regola di rewrite apache per richiamare i files senza estensione</title>
		<link>https://blog.smsoft.it/2012/02/21/regola-di-rewrite-apache-per-richiamare-i-files-senza-estensione/</link>
					<comments>https://blog.smsoft.it/2012/02/21/regola-di-rewrite-apache-per-richiamare-i-files-senza-estensione/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 21 Feb 2012 09:37:52 +0000</pubDate>
				<category><![CDATA[Html e PHP]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[estensione]]></category>
		<category><![CDATA[rewrite]]></category>
		<guid isPermaLink="false">http://blog.smsoft.it/?p=1670</guid>

					<description><![CDATA[La seguente regola di rewrite per apache potrebbe tornare utile nel caso sia necessario dover richiamare i files .php presenti nello spazio web senza specificare l&#8217;estensione, ad esempio poter richiamare www.site.ext/pippo piuttosto che www.site.ext/pippo.php: [crayon-6a72b43e76dc3017326776/] enjoy!]]></description>
										<content:encoded><![CDATA[<p>La seguente regola di rewrite per apache potrebbe tornare utile nel caso sia necessario dover richiamare i files .php presenti nello spazio web senza specificare l&#8217;estensione, ad esempio poter richiamare <strong>www.site.ext/pippo</strong> piuttosto che <strong>www.site.ext/pippo.php</strong>:</p><pre class="urvanov-syntax-highlighter-plain-tag">RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ $1.php [QSA,L]</pre><p></p>
<p>enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2012/02/21/regola-di-rewrite-apache-per-richiamare-i-files-senza-estensione/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Apache: redirect da http ad https</title>
		<link>https://blog.smsoft.it/2011/12/06/apache-redirect-da-http-ad-https/</link>
					<comments>https://blog.smsoft.it/2011/12/06/apache-redirect-da-http-ad-https/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 06 Dec 2011 08:50:06 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[rewrite]]></category>
		<guid isPermaLink="false">http://blog.smsoft.it/?p=1399</guid>

					<description><![CDATA[Abbiamo un nome a dominio www.pippo.it e vogliamo che qualsiasi pagina di questo dominio venga richiamata, si venga rediretti verso l&#8217;omonimo dominio con protocollo https. In pratica richiamando qualcosa del tipo: [crayon-6a72b43e77170536123855/] in automatico il visitatore deve essere rediretto verso: [crayon-6a72b43e7717d613574559/] Bene, avremo sicuramente due file di configurazione di apache, uno che gestisce il dominio ... <a title="Apache: redirect da http ad https" class="read-more" href="https://blog.smsoft.it/2011/12/06/apache-redirect-da-http-ad-https/" aria-label="Per saperne di più su Apache: redirect da http ad https">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[<p>Abbiamo un nome a dominio <strong>www.pippo.it</strong> e vogliamo che qualsiasi pagina di questo dominio venga richiamata, si venga rediretti verso l&#8217;omonimo dominio con protocollo <strong>https</strong>. In pratica richiamando qualcosa del tipo:</p><pre class="urvanov-syntax-highlighter-plain-tag">http://www.pippo.it/index.html</pre><p>in automatico il visitatore deve essere rediretto verso:</p><pre class="urvanov-syntax-highlighter-plain-tag">https://www.pippo.it/index.html</pre><p></p>
<p>Bene, avremo sicuramente due file di configurazione di apache, uno che gestisce il dominio in https ed uno per il dominio in http. Apriamo il file di configurazione del dominio http dove troviamo qualcosa del tipo:</p><pre class="urvanov-syntax-highlighter-plain-tag"><VirtualHost *:80>
  ServerAdmin webmaster@localhost
  ServerName  www.pippo.it
  ServerAlias pippo.it

  DocumentRoot /var/www/pippo
... ...
</VirtualHost></pre><p>ed aggiungiamo:</p><pre class="urvanov-syntax-highlighter-plain-tag">RewriteEngine on
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R]
RewriteLog "/var/log/apache2/rewrite.log"
RewriteLogLevel 2</pre><p></p>
<h2>ATTENZIONE</h2>
<p>In alternativa (saltando tutto quello che è scritto sopra) è possibile modificare solo il file <strong>.htaccess</strong> del sito come segue:</p><pre class="urvanov-syntax-highlighter-plain-tag">RewriteEngine on
RewriteCond %{SERVER_PORT} !443
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L]</pre><p></p>
<p>Ora facciamo rileggere la configurazione ad apache:</p><pre class="urvanov-syntax-highlighter-plain-tag">/etc/init.d/apache2 reload</pre><p></p>
<p>ed il gioco è fatto.</p>
<p>enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2011/12/06/apache-redirect-da-http-ad-https/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Riconoscere lato server se la navigazione avviene da iPad</title>
		<link>https://blog.smsoft.it/2011/08/02/riconoscere-lato-server-se-la-navigazione-avviene-da-ipad/</link>
					<comments>https://blog.smsoft.it/2011/08/02/riconoscere-lato-server-se-la-navigazione-avviene-da-ipad/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 02 Aug 2011 08:46:13 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Html e PHP]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[JavaScrip]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[rewrite]]></category>
		<guid isPermaLink="false">http://blog.smsoft.it/?p=1240</guid>

					<description><![CDATA[Potrebbe essere comodo capire se la navigazione nel proprio sito avviene da iPad, magari per mostrare una pagine web formattata in modo differente. Questa verifica può essere fatta lato client in JavaScript, oppure lato server in PHP o direttamente tramite rewrite del server web (apache in questo caso). Il concetto è sempre lo stesso: riconoscere ... <a title="Riconoscere lato server se la navigazione avviene da iPad" class="read-more" href="https://blog.smsoft.it/2011/08/02/riconoscere-lato-server-se-la-navigazione-avviene-da-ipad/" aria-label="Per saperne di più su Riconoscere lato server se la navigazione avviene da iPad">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[<p>Potrebbe essere comodo capire se la navigazione nel proprio sito avviene da iPad, magari per mostrare una pagine web formattata in modo differente.<br />
Questa verifica può essere fatta lato client in JavaScript, oppure lato server in PHP o direttamente tramite rewrite del server web (apache in questo caso).<br />
Il concetto è sempre lo stesso: riconoscere il browser del visitatore dall&#8217;UserAgent.</p>
<p>In <strong>JavaScript</strong> è possibile usare il seguente codice:</p><pre class="urvanov-syntax-highlighter-plain-tag">var isiPad = navigator.userAgent.match(/iPad/i) != null;
var ua = navigator.userAgent;
var isiPad = /iPad/i.test(ua) || /iPhone OS/i.test(ua);</pre><p></p>
<p>In <strong>PHP</strong> è possibile usare il seguente codice:</p><pre class="urvanov-syntax-highlighter-plain-tag">$isiPad = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'iPad');</pre><p></p>
<p>Infine con le regole di rewrite da inserire in un file <strong>.htaccess</strong>, si può usare il seguente codice per attivare il redirect verso un altro indirizzo nel caso il visitatore usi un iPad:</p><pre class="urvanov-syntax-highlighter-plain-tag">RewriteCond %{HTTP_USER_AGENT} ^.*iPad.*$
RewriteRule ^(.*)$ http://ipad.domain.ext [R=301]</pre><p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2011/08/02/riconoscere-lato-server-se-la-navigazione-avviene-da-ipad/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
