当我在子域上使用我的htaccess文件时,我收到内部服务器错误,但它适用于标准域。我真的不明白htaccess文件是如何工作的,所以任何帮助都会有很大的帮助。
.htaccess文件
RewriteEngine on
RewriteRule ^([^/\.]+)\.html index.php?act=$1 [L]
内部服务器错误
服务器遇到内部问题 错误或错误配置,是 无法完成您的请求。
请与服务器联系 管理员, webmaster@-----.com 并告知他们错误的时间 发生了,你可能有任何东西 完成可能导致错误。
有关此错误的详细信息可能有效 在服务器错误日志中可用。
此外,500内部服务器 遇到错误错误 试图使用ErrorDocument 处理请求。
答案 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]
这有帮助吗?