<p>Oh, I am blind.</p>

<p>Rather than delete this embarrassment, I will post this <em>mea culpa</em> for anyone else that may experience a similar brain fart.</p>

<p>I had subconsciously typed the directories in <code>html/</code> using the common POSIX/ISO standard without realising it, so <code>html\en_US\</code>. Of course, this works on OS X because the OS is case insensitive by default, and does not on Linux, because it is case sensitive. Renaming to all lowercase solved it.  </p>

<p>As for the CP rewrites, it was simply that Craft was not picking up that rewrite was correctly enabled. Simply adding <code>omitScriptNameInUrls</code> fixed that immediately.</p>

CC BY-SA 3.0
2015-12-14T17:09:03.303Z
Kudos for the courage it took to post that. ;)
Brad Bell
CC BY-SA 3.0
2015-12-14T15:32:15.137Z
2015-12-14T15:32:15.137Z
graney
<p>I have a multilingual Craft CMS site working perfectly on my local instance, OS X 10.10.5 running Apache 2.4.16, and so I moved the site to AWS, Amazon Linux 4.1.13-18.26.amzn1.x86_64 also running Apache 2.4.16, however, all of my locales are now case sensitive!</p>

<p>On my local I have 
<code>http://&lt;site&gt;/en_us/page</code> 
on AWS this gives me an error, <code>The requested URL /en_us/page was not found on this server.</code>, a <strong>hard</strong> 404. [i.e. not the templated 404 page I have configured in craft for missing content]</p>

<p>However, when I use <code>http://&lt;site&gt;/en_US/page</code>, i.e. using the ISO standard capitalisation for the country code, I get all of the content perfectly fine. All of my links, and configuration, is of course based upon the lowercase way that Craft normally uses locales, and so the links are all broken on AWS.</p>

<p>I have also noticed that the CP URL is using a querystring on AWS instead of rewriting; i.e. <code>/en_US/index.php?p=admin/settings/locales</code> instead of <code>en_us/admin/settings/locales</code> [which may be a related issue]</p>

<p>As the rewriting for the CMS works, /en_US/page actually gets the right template and content, I am puzzled as to what I may have missed in configuring my AWS instance. </p>

<p>Has anyone seen anything like this, or have some pointers?</p>

<localization><config><apache><aws>
Locale case sensititvity on AWS instance
# Locale case sensititvity on AWS instance

(Asked by: username_0 on 2015-12-14)

I have a multilingual Craft CMS site working perfectly on my local instance, OS X 10.10.5 running Apache 2.4.16, and so I moved the site to AWS, Amazon Linux 4.1.13-18.26.amzn1.x86\_64 also running Apache 2.4.16, however, all of my locales are now case sensitive!

On my local I have
`http:///en_us/page`
on AWS this gives me an error, `The requested URL /en_us/page was not found on this server.`, a **hard** 404. [i.e. not the templated 404 page I have configured in craft for missing content]

However, when I use `http:///en_US/page`, i.e. using the ISO standard capitalisation for the country code, I get all of the content perfectly fine. All of my links, and configuration, is of course based upon the lowercase way that Craft normally uses locales, and so the links are all broken on AWS.

I have also noticed that the CP URL is using a querystring on AWS instead of rewriting; i.e. `/en_US/index.php?p=admin/settings/locales` instead of `en_us/admin/settings/locales` [which may be a related issue]

As the rewriting for the CMS works, /en\_US/page actually gets the right template and content, I am puzzled as to what I may have missed in configuring my AWS instance.

Has anyone seen anything like this, or have some pointers?

**Tags:** localization, config, apache, aws


---

## 1 answers

### Answer by username_0 on 2015-12-14. Score: 2

Oh, I am blind.

Rather than delete this embarrassment, I will post this *mea culpa* for anyone else that may experience a similar brain fart.

I had subconsciously typed the directories in `html/` using the common POSIX/ISO standard without realising it, so `html\en_US\`. Of course, this works on OS X because the OS is case insensitive by default, and does not on Linux, because it is case sensitive. Renaming to all lowercase solved it.

As for the CP rewrites, it was simply that Craft was not picking up that rewrite was correctly enabled. Simply adding `omitScriptNameInUrls` fixed that immediately.

> **Comments:**
> **username_1**: Kudos for the courage it took to post that. ;)  

---

