.htaccess is working fine. If I manually type url.com/about it shows the page. If I manually type url.com/asdf it shows 404 template page.

url.com/index.php/testPathInfo shows success

general.php has

return array(
    '*' => array(
        'omitScriptNameInUrls' => 'true',

but when templates contain {{ url('about') }} or {{ entry.url }} I get url.com/index.php?p=whatever-this-is-supposed-to-be

I'm probably missing something easy and obvious but I've been staring at it all morning. Could it still be the mod_rewrite enabled thing even though it's rewriting fine?

.htaccess content

<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteBase /

   # Send would-be 404 requests to Craft
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteCond %{REQUEST_URI} !^/(favicon\.ico|apple-touch-icon.*\.png)$ [NC]
   RewriteRule (.+) index.php?p=$1 [QSA,L]

AuthType Basic
AuthName "*DEV*"
AuthUserFile /home/username/public_html/dev/.htpasswd
Require valid-user
  • Can you share your public .htaccess file contents?
    – Brad Bell
    Commented Jan 24, 2017 at 19:35
  • Also, the title mentions multi-domain... can you clarify how that applies here?
    – Brad Bell
    Commented Jan 24, 2017 at 19:37
  • @BradBell added .htaccess content to original question. I don't know if multi-domain applies here but thought I'd add the info. I'm currently working in "dev" subdomain. Commented Jan 25, 2017 at 14:37

1 Answer 1


OMG I'm so angry at myself!

Not 'omitScriptNameInUrls' => 'true',

but 'omitScriptNameInUrls' => true,

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.