开发者

RewriteEngine on gives error 403

Index file exists and works. When I create .htaccess file with the ONLY line:

RewriteEngine On 

Any page on server gives me:

Access forbidden!

You don't have permission to access the requested object. It is either read-protected or not readable by the server.

If you think this is a server error, please contact the webmaster. Error 403 mysite.com We开发者_如何学运维d Oct 5 22:25:25 2011 Apache/2.2.3 (Linux/SUSE)

Some server info:

Loaded Modules core prefork http_core mod_so mod_actions mod_alias mod_auth_basic mod_authn_file mod_authz_host mod_authz_groupfile mod_authz_default mod_authz_user mod_authn_dbm mod_autoindex mod_cgi mod_dir mod_env mod_expires mod_include mod_log_config mod_mime mod_negotiation mod_setenvif mod_ssl mod_suexec mod_userdir mod_rewrite mod_php5

Apache version:

SERVER_SOFTWARE Apache/2.2.3 (Linux/SUSE)

Also did this:

Options FollowSymLinks

In Directory section of httpd.conf

Log says just fact of error, not reasons:

89.112.xx.x - - [05/Oct/2011:22:32:34 +0200] "GET /info.php HTTP/1.1" 403 1040 "-" "Mozilla/5.0 (Windows NT 6.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"
::1 - - [05/Oct/2011:22:32:45 +0200] "GET / HTTP/1.0" 200 1 "-" "Apache/2.2.3 (Linux/SUSE) (internal dummy connection)"

Thanks for any help!


Place

Options +SymLinksIfOwnerMatch

as the first line of your .htaccess file. That fixed the problem for me.


The most likely cause is that your main conf file has the permissions restricted. Do you have a line like:

<Directory /> 
    AllowOverride None 
</Directory>

in your main conf file? This will stop you from being able to change basically anything using a .htaccess file.

You can find out more about apache permissions on their website.


Check in the httpd.conf for the block of code. By default on a mac it's pretty restrictive. If it's only local and you don't care to much you can open it up like:

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

That might help, or, could be the file permissions themselves. The /var/log/apache2/error_log and /var/log/apache2/access_log may also give you a bit more detail as to what's going on.


Thanks to the Tarun's answer, Options All did the job for me :

<Directory "/path/to/apache/root"/>
    Options All
    ...
</Directory>
0

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜