我的.htaccess文件出现以下错误

时间:2011-04-08 09:13:25

标签: php .htaccess subdomain

当我在子域上使用我的htaccess文件时,我收到内部服务器错误,但它适用于标准域。我真的不明白htaccess文件是如何工作的,所以任何帮助都会有很大的帮助。

.htaccess文件

RewriteEngine on
RewriteRule ^([^/\.]+)\.html index.php?act=$1 [L]
  

内部服务器错误

     

服务器遇到内部问题   错误或错误配置,是   无法完成您的请求。

     

请与服务器联系   管理员,   webmaster@-----.com   并告知他们错误的时间   发生了,你可能有任何东西   完成可能导致错误。

     

有关此错误的详细信息可能有效   在服务器错误日志中可用。

     

此外,500内部服务器   遇到错误错误   试图使用ErrorDocument   处理请求。

2 个答案:

答案 0 :(得分:0)

使用RewriteRules时,请始终使用与所涉及模块关联的条件。如果该模块不可用,重写将无法工作(并且您的网站可能会被破坏,因为它依赖于重写规则;-))但您不会得到500错误:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule ^([^/\.]+)\.html index.php?act=$1 [L]
</IfModule>

如果此后没有出现500错误,则子域中不会加载重写模块。

如果你仍然得到它,它可能是一个重定向循环。

答案 1 :(得分:0)

这是一个平底船 - 可能会很好。

您的子域是否位于标准Webroot中的文件夹中? 即 subdomain.server.com 根植于 server.com 的webroot文件夹中的文件夹子域。所以webroot就像 / httpdocs / ,子域名是 / httpdocs / subdomain /

您可能只需要将RewriteBase定义为该文件夹

RewriteEngine on
RewriteBase /subdomain/
RewriteRule ^([^/\.]+)\.html index.php?act=$1 [L]

这有帮助吗?