Localization - linking to other pages goes to 404 I have a localized site set up where the language switcher and translations are working fine. However when I link to internal pages it goes to a 404.

general.php has this:

 //local only
 'etf-craft.dev' =&gt; array(
    'devMode' =&gt; true,
    'siteUrl' =&gt; array(
       'en' =&gt; 'http://etf-craft.dev/en/',
       'fr' =&gt; 'http://etf-craft.dev/fr/'
   ),
   'environmentVariables' =&gt; array(
        'environment' =&gt; 'local',
        'basePath' =&gt; 'D:\sites\etf-craft\public_html',
        'baseUrl'  =&gt; 'http://etf-craft.dev',
    )
),


site structure is like this:


craft
public
public/en/
public/fr/


index.php in /fr/ and /en/ directories contains the following where french says /fr/ instead of /en/:



// Path to your craft/ folder
$craftPath = '../../craft';

// Tell Craft to serve the English content
define('CRAFT_LOCALE', 'en');


One link I've created that 404s on me is:

  &lt;li&gt;
    &lt;a href="/{{ craft.locale }}/news" class="news"&gt;{{ "News" | t}}
      &lt;i class="arrow right"&gt;&lt;/i&gt;
    &lt;/a&gt;
  &lt;/li&gt;


What I expect is that it takes me to http://etf-craft.dev/en/news and the news page shows up. However I end up going to a 404.

However if I manually remove the /en/ from the address bar the news template shows up correctly.


not working - http://etf-craft.dev/en/news
working - http://etf-craft.dev/news


What am I doing wrong?
First off, make sure you have .htaccess files in both the en and fr folders and this per the localization guide.

Secondly, you're missing a comma in the siteUrl array:

'siteUrl' =&gt; array(
    'en' =&gt; 'http://etf-craft.dev/en/',
    'fr' =&gt; 'http://etf-craft.dev/fr/' &lt;--------add comma here-----
),