你要重新启动apache使重新书写规则。要采取的效果?
-
02-07-2019 - |
题
我推开了我.就文件的生产服务器,但是他们不工作。将重新启动的下一步,或者我应该检查的东西。
解决方案
.htaccess更改需要重启 。还有别的错误。
确保您的.htaccess包含声明
上的RewriteEngine
即使它也存在于httpd.conf中,也是必需的。还要检查.htaccess是否可被httpd进程读取。
检查error_log - 如果正在使用它,它会告诉你.htaccess 中的任何错误。
在.htaccess中添加故意语法错误是一个很好的检查,以确保文件正在使用 - 你应该在同一目录中的任何页面上得到500错误。
最后,您可以使用httpd.conf中的以下命令启用重写日志:
RewriteLog" logs / rewritelog"
RewriteLogLevel 7
这样生成的日志文件将为您提供关于哪些重写规则匹配以及如何处理它们的详细信息。
其他提示
否:
Apache允许通过放置在Web树中的特殊文件来分散管理配置。特殊文件通常称为
.htaccess
,但任何名称都可以在 AccessFileName 指令...由于每次请求都会读取.htaccess文件,因此对这些文件所做的更改会立即生效...
从apache文档: 最常见的问题是,未设置AllowOverride以使您的配置指令得到遵守。确保您没有对相关文件范围有效的AllowOverride无效。对此进行的一个很好的测试是将垃圾放入.htaccess文件并重新加载。如果未生成服务器错误,则几乎肯定会使AllowOverride无效。
只有当不将mod_rewrite模块添加到Apache。
时如果您更改任何Apache“.conf”,则只需要重新启动Apache。文件。
我有同样的问题,似乎PiedPiper关于AllowOverride的帖子最有帮助。检查您的httpd.conf文件中的“AllowOverride”"并确保将其设置为All。
在情况。就重新启动不是必需的如果这工作不可能的原因包括。
AllowOverride 不可设定哪些用户可以设定内部httpd.conf或可能有联系服务器管理。
检查文件的名称。就是应该的。就不htaccess.txt 看看 在这里, 为指导如何创建一个。
尝试使用
Options -Indexes
或deny all
一种简单的指令》,看看它是否工作或没有。清楚的浏览器高速缓存;如果具有规则的重定或类似的如果上一向是高速缓存看来,如果事情不是工作。
你的.htaccess中有什么?的RewriteRules?检查mod_rewrite是否已安装并启用。
其他的东西?尝试在该目录上将AllowOverride设置为“all”。