Forum Moderators: phranque
Go to this index of Apache directives, replacing "2.2" with your Apache version in the URL.
[httpd.apache.org...]
Lookup each directive that you want to carry over from the conf, for instance here is the entry for AddType.
[httpd.apache.org...]
You will see details about the directive, one line will be the "context" that directive is available in.
For instance with the AddType directive, it looks like this,
Context: server config, virtual host, directory, .htaccess
If ".htaccess" is not listed for that directives "context", you can not use it in htaccess. Having it in the htaccess file will either be ignored or cause that 500 Internal Server error depending on your setup.
That <Location> container is an example of a directive that is not available in htaccess context. Considering the meaning of that directive, it may or may not be as simple as placing the directives enclosed in that container within a certain folders htaccess file.
Once you've got your contexts squared away, since you're going into the "end of the line" which is htaccess, you'll want to pay attention to the "override" line that's right there near the "context" line.
This is where it can get annoying with shared hosting, as far as I know the only way to determine the level of overrides you have, is to look in the server configuration files for the AllowOverride directive.
[httpd.apache.org...]
On a strict setup, you may be able to use certain directives context-wise, but the AllowOverride directive could be preventing you from using it permission-wise.