Apache返回403状态代码以及页面内容

时间:2013-12-14 22:38:18

标签: apache mod-rewrite url-rewriting directoryindex

我有一个cPanel托管帐户,我的主域名指向public_html。但是,为了更好地制作目录结构,我将以下代码添加到public_html/.htaccess

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/www\.MyDomain\.com [NC]
RewriteRule ^(.*)$ /MyDomain.www/$1 [NC,L]

它只是将我的主域名的所有请求从/public_html重定向到/public_html/MyDomain.www

但问题是,当我访问http://www.MyDomain.com/时,它会在public_html/MyDomain.www/index.php发送页面,但会使用403 HTTP代码而不是200代码。请注意,访问http://www.MyDomain.com/index.php会使用200个HTTP代码正确返回页面。

那么,如何修复403错误代码?

1 个答案:

答案 0 :(得分:0)

我尝试用.htaccess替换现有的重写规则,并且令人惊讶的是它有效。

RewriteCond %{HTTP_HOST} ^domain.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.domain.com$
RewriteCond %{REQUEST_URI} !domain.www/
RewriteRule (.*) /domain.www/$1 [L]