WordPress管理员可以轻松管理配置,而无需触及一行代码。然后将这些基本配置设置存储在wp-options
数据库内的表中。但是,WordPress还有一个名为的独立配置文件,wp-config.php
可用于进一步的自定义。
Wp-config是安装自托管WordPress站点时保存自定义托管数据(数据库名称,数据库主机等)的文件。您还可以向此文件添加其他配置选项,您可以使用这些选项启用或禁用调试,缓存,多站点,SSL登录,自动更新等功能。
本地化和编辑wp-config
下载WordPress时,该wp-config.php
文件尚未出现在安装文件夹中。但是,有一个名为wp-config-sample.php
你需要复制和重命名的文件wp-config.php
。然后,您需要将基本连接数据(数据库名称,数据库用户名,数据库密码,主机名,安全密钥)添加到此文件。
如果您的托管服务提供商使用Softaculous自动安装程序(大部分都是这样),则此过程将自动执行,当您通过FTP连接服务器时,您将在根文件夹中找到一个wp-config.php
和一个wp-config-sample.php
文件。
请注意,设置顺序很重要,因此请勿重新排列。编辑wp-config文件时,请始终使用代码编辑器,如Sublime Text,Atom,Notepad ++,Visual Studio Code或TextMate。文字处理器(Microsoft Office,Google Docs,LibreOffice等)会弄乱您的文件,从不使用它们来编辑代码文件。
保存到wp-config中的设置会覆盖数据库,以防两者都存在相同类型的配置(例如,主页URL)
放置代码片段的位置
在本文中,您可以找到20个代码片段,您可以使用它们来自定义wp-config.php
文件。
默认情况下,大多数配置选项在wp-config中不存在。如果要使用它们,则需要将它们添加到起始<?php
标记和代码注释下方,但高于MySQL设置。
1.打开WP调试器
您可以在wp-config文件中打开和关闭WordPress调试器。默认情况下,下面的第一个片段确实存在于wp-config中(在数据库配置下面),但其值设置为false
。要打开调试器,请将其值更改为true
。
第二个代码段打开前端调试器,允许您调试CSS和JavaScript脚本。仅在从未投入生产的开发站点上使用调试器。
1
2
3
4
五
|
# Turns on PHP debugger define( 'WP_DEBUG' , true ); # Turns on CSS and JavaScript debugger define( 'SCRIPT_DEBUG' , true ); |
2.更改数据库表前缀
WordPress wp_
默认使用表前缀。如果您想要更安全的数据库,可以选择更复杂的表前缀。
默认情况下,此配置选项也存在于wp-config文件中,您只需将变量的值更改$table_prefix
为更安全的值。
如果您具有全新安装或在开发站点上,则仅更改表前缀,因为在生产站点上执行此操作存在风险。
1
2
3
|
# Creates secure table prefix for database tables # Only numbers, letters, underscores $table_prefix = 'a81kJt_' ; |
3.更改WordPress URL
您可以在菜单下的WordPress管理员中设置WordPress和主页URLSettings > General
。但是,您也可以在wp-config文件中配置这些URL。
在wp-config文件中定义WP_SITEURL
和WP_HOME
常量有两个好处:
- 如果由于某种原因无法访问您的管理区域,它可以挽救生命
- 它可以减少网站加载时的数据库调用次数(因为wp-config会覆盖保存在数据库中的选项)
WP_SITEURL
指定用户可以访问您网站的URL ,同时WP_HOME
定义WP安装的根目录。如果您将WordPress安装到根文件夹(这是默认选项),它们将采用相同的值。
1
2
3
4
五
|
# Specifies site URL define( 'WP_SITEURL' , 'http://www.yourwebsite.com' ); # Specifies home URL (the root of the WP install) define( 'WP_HOME' , 'http://www.yourwebsite.com/wordpress' ); |
4.一段时间后清空垃圾
您可以让WordPress 在一定数量的日期后自动清空垃圾箱。此常量的最小值为0,在这种情况下,您将禁用垃圾回收功能。
1
2
|
# Empties trash after 7 days define( 'EMPTY_TRASH_DAYS' , 7 ); |
5.启用WordPress缓存
您可以使用以下代码行启用WordPress的内置缓存功能。大多数缓存插件(例如W3 Total Cache和WP Super Cache)会自动将此代码段添加到wp-config文件中。
1
2
|
# Enables WP cache define( 'WP_CACHE' , true ); |
6.启用WordPress Multisite
通过将WP_ALLOW_MULTISITE
常量添加到wp-config文件,您可以启用WordPress的多站点功能,该功能允许您创建WP站点的网络。
1
2
|
# Turns on WordPress Multisite define( 'WP_ALLOW_MULTISITE' , true ); |
7.重定向不存在的子域和子文件夹
有时访问者在URL栏中键入不存在的子域或子文件夹。您可以将这些用户重定向到您域中的另一个页面,例如,在NOBLOGREDIRECT
常量的帮助下将其重定向到主页。
1
2
|
# Redirects non-existing subdomains and subfolders to homepage define( 'NOBLOGREDIRECT' , 'http://www.yourwebsite.com' ); |
8.管理修订后的内容
WordPress有一个内置的版本控制系统,这意味着它保存您创建的所有后期修订。经常编辑的帖子可能有多达25-30个修订版,可能会在一段时间后占用大量数据库空间。
使用WP_POST_REVISIONS
常量,您可以最大化后期修订的数量或完全禁用该功能。
1
2
3
4
五
|
# Completely disables post revisions define( 'WP_POST_REVISIONS' , false ); # Allows maximum 5 post revisions define( 'WP_POST_REVISIONS' , 5 ); |
9.启用内置数据库优化
WordPress具有内置的数据库优化功能,您可以通过将以下行添加到wp-config文件来打开它。
我详细地写了这个工具是如何工作的这篇文章中。最重要的是要注意数据库优化屏幕可供任何人使用(即使是未登录的访问者)。仅在您要运行优化工具的时间段内启用该功能,然后不要忘记禁用它。
1
2
|
# Turns on database optimization feature define( 'WP_ALLOW_REPAIR' , true ); |
10.禁用自动更新
对于次要版本和翻译文件, WordPress 默认运行自动后台更新。
您可以通过根据以下规则设置(对于所有更新)和(对于核心更新)常量的值来打开和关闭此功能:AUTOMATIC_UPDATER_DISABLED
WP_AUTO_UPDATE_CORE
1
2
3
4
五
6
7
8
9
10
11
|
# Disables all automatic updates define( 'AUTOMATIC_UPDATER_DISABLED' , true ); # Disables all core updates define( 'WP_AUTO_UPDATE_CORE' , false ); # Enables all core updates, including minor and major releases define( 'WP_AUTO_UPDATE_CORE' , true ); # Enables core updates only for minor releases (default) define( 'WP_AUTO_UPDATE_CORE' , 'minor' ); |
11.增加PHP内存限制
有时您可能希望增加托管服务提供商为您的站点分配的PHP内存限制,特别是如果您遇到可怕的“允许的内存大小xxxxxx字节耗尽”消息。为此,请使用WP_MEMORY_LIMIT
网站和WP_MAX_MEMORY_LIMIT
管理区域。
请注意,某些主机不允许手动增加内存限制,在这种情况下请联系他们并要求他们为您执行此操作。
1
2
3
4
五
|
# Sets memory limit for the website define( 'WP_MEMORY_LIMIT' , '96M' ); # Sets memory limit for the admin area define( 'WP_MAX_MEMORY_LIMIT' , '128M' ); |
12.强制SSL登录
为了提高网站安全性,您可以强制用户每次都通过SSL登录。该FORCE_SSL_ADMIN
常数使得SSL强制两个用户登录和管理会话。
请注意,之前有效的FORCE_SSL_LOGIN
常量在WordPress 4.0中已弃用,因此现在您必须始终使用FORCE_SSL_ADMIN
。
1
2
|
# Forces SSL login define( 'FORCE_SSL_ADMIN' , true ); |
13.禁用插件和主题编辑/更新
管理员可以在WordPress管理区域中编辑插件和主题文件。如果使用常量禁用插件和主题编辑器,则可以使您的站点更安全DISALLOW_FILE_EDIT
。因此,如果您的网站被黑客攻击,黑客将无法访问您的插件和主题文件。
您也可以禁用插件和主题更新功能使用DISALLOW_FILE_MODS
。这样管理员将无法更新管理区域中的插件和主题。
DISALLOW_FILE_MODS
还会禁用插件和主题编辑器,因此如果您使用它,则无需添加DISALLOW_FILE_EDIT
。
1
2
3
4
五
|
# Disables the plugin and theme editor define( 'DISALLOW_FILE_EDIT' , true ); # Disables the plugin & theme editor PLUS the plugin & theme update define( 'DISALLOW_FILE_MODS' , true ); |
14.删除图像编辑
无论何时编辑图像,WordPress 都会以不同的分辨率保存它。但是,如果您不想使用较早的图像集,可以通过将常量的值设置为来删除它们。IMAGE_EDIT_OVERWRITE
true
因此,编辑图像时,新的图像文件将被新图像文件覆盖,只有最后一组wp-content
文件将保存在文件夹中。
1
2
|
# Cleans up image edits define( 'IMAGE_EDIT_OVERWRITE' , true ); |
15.禁用未经过滤的HTML
虽然低级用户(订阅者,贡献者,作者)无法在WordPress中发布未经过滤的HTML,但允许编辑者和管理员这样做。
通过在wp-config文件中添加以下代码行,可以防止高级用户发布未经过滤的HTML,从而提高安全性。
1
2
|
# Disables unfiltered HTML for admins and editors define( 'DISALLOW_UNFILTERED_HTML' , true ); |