<?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>Développement Web Libre &#187; symfony</title>
	<atom:link href="http://www.sbnet.fr/tag/symfony/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sbnet.fr</link>
	<description>xhtml, css, javascript, php et ruby</description>
	<lastBuildDate>Fri, 03 Feb 2012 11:44:49 +0000</lastBuildDate>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Associer un sous-domaine à une application symfony</title>
		<link>http://www.sbnet.fr/2010/07/02/associer-un-sous-domaine-a-une-application-symfony/</link>
		<comments>http://www.sbnet.fr/2010/07/02/associer-un-sous-domaine-a-une-application-symfony/#comments</comments>
		<pubDate>Fri, 02 Jul 2010 08:35:29 +0000</pubDate>
		<dc:creator>Stéphane</dc:creator>
				<category><![CDATA[Informatique]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://www.sbnet.fr/?p=133</guid>
		<description><![CDATA[Coté serveur web Il faut soit  créer des virtual host pour tous vos sous-domaine. Soit créer un seul virtual host en utilisant des wildcards dans le ServerAlias, du coup tous les sous-domaines pourraient correspondre à une application, plus besoin de créer autant de virtual hosts que de sous-domaine. Il doit même être possible d&#8217;utiliser les [...]]]></description>
			<content:encoded><![CDATA[<h3>Coté serveur web</h3>
<p>Il faut soit  créer des virtual host pour tous vos sous-domaine.</p>
<p>Soit créer un seul virtual host en utilisant des wildcards dans le ServerAlias, du coup tous les sous-domaines pourraient correspondre à une application, plus besoin de créer autant de virtual hosts que de sous-domaine. Il doit même être possible d&#8217;utiliser les wildcards dans la déclaration du domaine dans le gestionnaire de dns.</p>
<div style="overflow: auto;"><pre class="php" id="geshi" style="color: #fff; border-left: 5px solid #900; background-color:#000;">ServerName domain.tld
ServerAlias *.domain.tld</pre></div>
<h3>Coté symfony</h3>
<p>Il faut renommer le fichier <em>web/index.php</em> en <em>web/frontend.php</em><br />
<em> </em>Puis re-créer le fichier <em>web/index.php </em>en y mettant le code qui permettra de choisir l&#8217;application<br />
en fonction du sous domaine.<br />
Voici un exemple, il suffit de modifier le <em>switch()</em> pour l&#8217;adapter à vos besoins :</p>
<div style="overflow: auto;"><pre class="php" id="geshi" style="color: #fff; border-left: 5px solid #900; background-color:#000;"><span class="kw1">require_once</span><span class="br0">(</span><a href="http://www.php.net/dirname"><span class="kw3">dirname</span></a><span class="br0">(</span><span class="kw2">__FILE__</span><span class="br0">)</span>.<span class="st0">'/../config/ProjectConfiguration.class.php'</span><span class="br0">)</span>;
<span class="co1">// Trouve le sous-domaine</span>
<a href="http://www.php.net/list"><span class="kw3">list</span></a><span class="br0">(</span><span class="re0">$subdomain</span>, <span class="re0">$domain</span>, <span class="re0">$tld</span><span class="br0">)</span> = <a href="http://www.php.net/explode"><span class="kw3">explode</span></a><span class="br0">(</span><span class="st0">'.'</span>, <span class="re0">$_SERVER</span><span class="br0">[</span><span class="st0">'HTTP_HOST'</span><span class="br0">]</span><span class="br0">)</span>;
 
<span class="co1">// En deduit l'application</span>
<span class="kw1">switch</span><span class="br0">(</span><span class="re0">$subdomain</span><span class="br0">)</span>
<span class="br0">{</span>
    <span class="kw1">case</span> <span class="st0">&quot;documentation&quot;</span>:
        <span class="re0">$app</span> = <span class="st0">&quot;documentation&quot;</span>;
    <span class="kw1">break</span>;
 
    <span class="kw2">default</span>:
        <span class="re0">$app</span> = <span class="st0">&quot;frontend&quot;</span>;
    <span class="kw1">break</span>;
<span class="br0">}</span>
<span class="re0">$configuration</span> = ProjectConfiguration::<span class="me2">getApplicationConfiguration</span><span class="br0">(</span><span class="re0">$app</span>, <span class="st0">'prod'</span>, <span class="kw2">false</span><span class="br0">)</span>;
sfContext::<span class="me2">createInstance</span><span class="br0">(</span><span class="re0">$configuration</span><span class="br0">)</span>-&gt;dispatch<span class="br0">(</span><span class="br0">)</span>;</pre></div>
]]></content:encoded>
			<wfw:commentRss>http://www.sbnet.fr/2010/07/02/associer-un-sous-domaine-a-une-application-symfony/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

