.htaccess文件在WordPress中的作用是什么?

时间:2017-09-13 作者:Yashpal Modi S

为什么?.htaccess WordPress中是否需要文件?

如何访问它?在WordPress的哪里可以找到它?

2 个回复
最合适的回答,由SO网友:MrWhite 整理而成

这个.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 完全

SO网友:Johansson

这个.htaccess 文件主要用于创建重写规则和条件,Apache和LiteSpeed web服务器使用这些规则和条件。NginX有自己的语法来编写和读取这些设置。

如果您想使用除plain之外的任何其他permalink结构,则需要具有此文件。通常WordPress会在安装完成后立即为您创建一个。

它位于WordPress安装的根文件夹中,但是如果您不熟悉它的工作方式,则强烈建议您更改它。

这是的默认内容.htaccess 由新WordPress安装创建的文件:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /your-wp-dir/
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /your-wp-dir/index.php [L]
</IfModule>

# END WordPress
Theyour-wp-dir 如果在根文件夹中安装WordPress,则部件将不存在。

结束

相关推荐

如果我使用Allow IP通过.htaccess拒绝登录页面,如何登录

我正在运行wordpress网站,AIO WP Security&;防火墙插件,通知我是否有错误的登录尝试。/wp admin包含。htaccess设置位置:order deny,allow deny from all allow from 123.123.123.123 // my IP 我仍然收到来自AIO插件的电子邮件,有人试图用不同IP的奇怪用户名登录。除了/wp admin之外,还有其他方法可以获取登录页面并尝试进行身份验证吗??