多域中的htaccess冲突

时间:2012-10-16 23:45:15

标签: php .htaccess

实际上我有一个域(example.com),它托管在godaddy托管帐户中,最近我又购买了另一个域(example2.com)这两个域我托管在同一个托管帐户中。

现在让我告诉你这两个领域的路径:

example.com in on the / folder
example2.com in on the /example2 folder

我已经使用example.com域创建了3个子域,并且托管帐户在/目录上为相同的子域创建了文件夹。

我们说demo.example.com,文件夹为/demo

现在来到第二个域,最近我为example2.com

创建了一个子域

test.example2.com位于根目录,文件夹/test不像/example2/test,因为我的第二个域位于/example2文件夹

现在的问题是,当我为test.example2.com启用.htaccess文件时,我得到了

500 Internal Server Error

AddDefaultCharset UTF-8

ErrorDocument 404 /404error.php

Options +FollowSymlinks -MultiViews
RewriteEngine on

RewriteBase /

RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)([^/])$ http://%{HTTP_HOST}/$1$2/ [R=301,L]


RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php\ HTTP/

RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} !^localhost
RewriteRule .* http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

RewriteRule ^(all)/([^/]+)/?$ story.php?title=$2 [L]
RewriteRule ^(all)/?$ index.php [R=301,L]

这里是.htaccess文件的一小部分但没有htaccess它工作正常,我认为我对RewriteBase

有问题

我也试过像RewriteBase /test/

RewriteBase /example2/test/

但没有帮助,任何人都可以告诉我问题在哪里,我该如何调试这个问题?

但我的其他子域的其余部分工作正常。

更新错误日志

[Tue Oct 16 21:47:04 2012] [alert] [client 110.172.129.110] /var/chroot/home/content/06/8871106/html/bestsocialbookmark/.htaccess: Option All not allowed here
[Tue Oct 16 21:47:07 2012] [alert] [client 110.172.129.110] /var/chroot/home/content/06/8871106/html/bestsocialbookmark/.htaccess: Option All not allowed here

是真的,我不知道它是什么意思。

1 个答案:

答案 0 :(得分:1)

  

/var/chroot/home/content/06/8871106/html/bestsocialbookmark/.htaccess:此处不允许选项

这可能是造成错误的原因。而不是你的规则(看起来很好,它们在空白的htaccess文件中对我有用)。

所以在/var/chroot/home/content/06/8871106/html/bestsocialbookmark/目录的htaccess文件中,某处有一个Option All。您可能意味着Options All,因为Option不是核心指令(它可以在另一个第三方模块中使用,但显然不允许)。只需删除它。