开发者

.htaccess "Options not allowed here"

I have this in my .htaccess:

Options +FollowSymLinks

And I get the following error in the apache error_log:

.htaccess: Options not allowed here

Here's the part from my httpd.开发者_开发技巧conf file:

#htdocs symlinks here
<Directory /Users/you/code/my/folder>
    Options All
    AllowOverride All
</Directory>

<Directory />
    Options All
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

<Directory "/Applications/XAMPP/xamppfiles/htdocs">
    Options All 
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

So I'm setting Options All and AllowOverride All everywhere, but STILL I'm not allowed to set the option. Can anyone make sense of this?

Thanks, MrB


Note that this is a XAMPP-specific issue. XAMPP loads some additional configuration files located in XAMPP/etc/extra/ that override httpd.conf. For me the offending file is http-userdir.conf which applies rules for ~user requests and contains the line AllowOverride FileInfo AuthConfig Limit Indexes and changing that line to AllowOverride All did indeed solve my issue.

This only applies to files served from your /Sites/ directory on OS X. I don't know if the Windows version uses UserDir at all or even has a similar rule.


in my case I end up with change the line AllowOverride AuthConfig FileInfo to AllowOverride All in file httpd-vhosts.conf where this file is located in apache\conf\extra folder


You have to allow overrides for "Options" within directory context. there's no need to:

vhost/directory config:
    AllowOverride All

But only to permit overrides for 'Options':

    AllowOverride {Existing options to override} +Options


I guess there is a global AllowOverride setting in your apache config which disallows this. Can you grep for AllowOverride in your httpd.conf?


I just installed the most recent version of XAMPP and thought to share how I solved the same problem.

This is a XAMPP specific setting (with every new XAMPP install). The most recent up to date XAMPP as of today - XAMPP 1.8.3 have a setting in /xampp/apache/conf/extra/httpd-xampp.conf that's causing your "Server Error" message.

And then you get the following error in your error log:

.htaccess: Options not allowed here

Open /xampp/apache/conf/extra/httpd-xampp.conf and find:

<Directory "/xampp/htdocs/xampp">
    <IfModule php5_module>
        <Files "status.php">
            php_admin_flag safe_mode off
        </Files>
    </IfModule>
    AllowOverride AuthConfig
</Directory>

and change

AllowOverride AuthConfig

with

AllowOverride All

No authentication or authorization will be required after the change UNLESS you specify it in your httpd.conf, extra confs or in .htaccess.

You may also want to read the Apache documentation for the option AllowOverride http://httpd.apache.org/docs/current/en/mod/core.html#allowoverride and choose more optimal and secure setting that will allow you to use your .htaccess without causing a server error.

Also keep in mind that you can find a better place to rewrite the rule above depending on the results that you'd like to achieve. In my case this is a satisfactory change.


instead of changing the global AllowOverride settings in your main httpd.conf file, if you have a httpd-vhosts.conf file you would want to put directory specific AllowOverride All directives in each host entry that you need it in, so you can keep a restrictive set on the rest of the server realm.


Change Options +FollowSymLinks into Options +SymLinksIfOwnerMatch in all instances of .htaccess file, the followsymlinks has been disabled on many server due to security risk.


On Debian 9 i edited the file /etc/apache2/mods-available/userdir.conf

Disabled this line AllowOverride FileInfo AuthConfig Limit Indexes

Added this line Allowoverride All

And it worked fine.

Many thanks to all who contributed


Does the server your domain is hosted on fulfills all requirements needed for Elgg? Especially, is mod_rewrite available?

Re-check all steps you had done.

If mod_rewrite is working... Do you have access to the configuration (http.conf) of Apache on your server? If yes, add the following lines (adjust the path):

AllowOverride All

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜