这个.htaccess
WordPress“工作”实际上不需要文件。然而,如果您希望创建一个更为用户友好的URL结构(如Jack所建议的“普通”永久链接以外的任何内容),则需要它。
这也是为什么默认的WordPress.htaccess
文件将指令包围在<IfModule mod_rewrite.c>
容器如果“mod\\u rewrite”在系统上不可用(您只需要获得一个不太友好的permalink结构),它就会“起作用”。mod\\u rewrite是Apache的URL重写模块。
这个.htaccess
文件本身是“每目录Apache配置文件”。在有限的范围内(应力有限),它可用于配置Apache服务器环境。然而,它主要用于配置/帮助web应用程序(在本例中为WordPress)。使用.htaccess
您可以重定向/重写URL、配置客户端缓存、限制访问等。尽管大多数都可以通过更友好的WordPress插件进行配置。.htaccess
语法可能看起来有点晦涩,如果你弄错了,那是不可原谅的。
默认WordPress.htaccess
文件实现“前控制器”模式。它使用mod\\u rewrite将所有请求(对于不存在的文件,即虚拟URL)路由到index.php
. 这使WordPress能够检查请求的URL,构建页面并将其返回给客户端。
正如其他补充说明如果以后要向该文件添加一些重定向(以RewriteRule
指令),则这些指令必须在WordPress前端控制器之前。如果将它们放在文件末尾,则不太可能处理它们。这是一个令人惊讶的常见错误源。例如,如果您使用cPanel创建一些外部重定向,那么cPanel将在.htaccess
文件,因此需要一些手动编辑。
这个.htaccess
文件通常位于WordPress安装的根目录中。但是,如果您知道自己在做什么,可以将其移动到父目录(甚至在文档根目录之上)。.htaccess
文件为“每个目录”。中的指令.htaccess
根目录中的文件会影响该目录和所有子目录。如果你有另一个.htaccess
在子目录中,这些指令覆盖父目录.htaccess
文件如果您可以访问主服务器配置,则不需要.htaccess
完全