AllowOverride enables .htaccess files. my guess is you have a bad .htaccess in the path of the website.
If you have some invalid syntax in the .htaccess file you will get a server 500 error.
turning on rewrites also is not enough you have to add the line RewriteEngine On to either your virtualhost or .htaccess file and then follow it with your rewrite rules
DC
Solution: The RewriteBase have to be the same as the Alias definition, not the physical path/directory in the filesystem!
Check the RewriteBase
directive for mod_rewrite, it sounds like it could be related to that.
Read about it at: http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritebase
Edit 1:
To try this out I setup a clean fresh Ubuntu in VMware, a clean apache2 installation and created a new folder out of the normal path, then setup a .htaccess and I made it work with a proper RewriteBase
rule. The default DocumentRoot is /var/www, I put a index.php in there just to show me where I am. It echoes out "I am index.php in default!". Then I created this Alias in Apaches configuration:
Alias /testberg /home/www/testberg
<Directory "/home/www/testberg">
Options +Indexes
AllowOverride All
</Directory>
And in there I put another index.php saying "I am index.php in testberg!". Under /home/www/testberg I created a .htaccess with the following contents:
RewriteEngine On
RewriteBase /testberg
RewriteRule ^apa.test$ index.php
When I browse to http://192.168.100.183/testberg/apa.test I now see: "I am index.php in testberg!" and no errors in Apaches logfile, etc.
Isn't this what you wanted to accomplish?
Edit 2:
Trying with a different virtual host. On my Windows desktop I pointed ahntest.net to my VMware IP in c:\windows\system32\drivers\etc\hosts
. On my VMware server I created /home/www/ahntest.net
and put a modified index.php there to echo "I am index.php in ahntest.net!" and created the following virtual host:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName ahntest.net
DocumentRoot /home/www/ahntest.net
Alias /testberg /home/www/testberg
<Directory "/home/www/testberg">
Options +Indexes
AllowOverride All
</Directory>
</VirtualHost>
Browsing to http://ahntest.net gives me "I am index.php in ahntest.net!", browsing to http://ahntest.net/testberg gives me "I am index.php in testberg!" and finally browsing to http://ahntest.net/testberg/apa.test gives me "I am index.php in testberg!" so it works just fine here too from what I can tell. The .htaccess/patch in Edit 2 is the same as under Edit 1 above.
Best Answer
You probably need to normalize the encoding of the filenames to Unicode NFC form. See the related StackOverflow question 12643402. One tool you could use is convmv, which should be available in CentOS.