title: Can't add prefixes to paths properly in React router
body: <p>I'm creating multi language app. I'm using  : React Intl; React Router (latest v4); Redux.<br />
  Paths in my app are going to be depending on locale:</p>
  <pre><code>/ &lt;-- default expecting this to be uk
  /en
  /ru
  /news &lt;-- uk
  /en/news
  /ru/news
  </code></pre>
  <p>If user has <code>locale = en-US</code> and enters <code>localhost:8080</code> app redirects him to  <code>localhost:8080/en</code></p>
  <p>If user has <code>locale = uk</code> and enters <code>localhost:8080</code> app shows him component that corresponds to address <code>localhost:8080/</code> without changing location path-name.</p>
  <h3>Routers.jsx</h3>
  <pre class="lang-js prettyprint-override"><code>const Routes = ({ lang }) =&gt; (
    &lt;BrowserRouter basename={lang}&gt;
        &lt;Route render={props =&gt; &lt;Header {...props} /&gt;} /&gt;
        &lt;Switch&gt;
          &lt;Route exact path={`/:${lang}`} component={Landing} /&gt;
          &lt;Route exact path={`/:${lang}/news`} component={News} /&gt;
          &lt;Route component={FourOhFour} /&gt;
        &lt;/Switch&gt;
    &lt;/BrowserRouter&gt;
  );
  
  const mapStateToProps = state =&gt; ({ lang: getLang(state.locale) });    
  export default connect(mapStateToProps)(Routes);
  </code></pre>
  <p>Currently It's not working as expected.<br />
  I got <code>no match</code> in routes config if I enter <code>localhost:8080/</code> or <code>localhost:8080/en</code>.</p>