精通WordPress设计与开发:第2章代码概览
本章内容
下载WordPress
配置wp‐config .php和.htaccess
探索wp - content⽬录
开启WordPress维护模式
WordPress是⼀个由⼀组执⾏系统内特定任务的源代码⽂件组成的软件包。理解代码,包括⽂件和⽂件夹结构,是理解WordPress如何作为⼀个整体⼯作的关键。
阅读本章后,您将熟悉如何下载和分析WordPress⽂件系统。本章还讨论了WordPress关键⽂件的配置,包括功能强⼤的wp‐config.php 和.htaccess⽂件。还涵盖了WordPress中⼀些⾼级的配置选项。
下载
安装WordPress的第⼀步是下载运⾏WordPress所需的源⽂件。本节将深⼊探讨WordPress的核⼼。
下载地址
你也可以在当前安装的WordPress中,通过“仪表板”界⾯下的“更新WordPress”部分直接更新。点击下载按钮下载最新版本的WordPress到你的电脑。
SVN trunk⽬录中包含了正在开发的WordPress的版本。通常这个版本的WordPress包含bug,⽤于测试⽬的。不推荐使⽤trunk版本的WordPress搭建⽹站。SVN是开发者开发WordPress core (内核)的开发⼯具之⼀。使⽤SVN,可以创建并提交补丁⽂件,以便将其包含到WordPress核⼼中。第16章详细介绍了这⼀点。
SVN和Git存储库被认为是相等的,所以如果你计划使⽤WordPress核⼼,你可以使⽤你最熟悉的版本控制系统。
可⽤的格式
WordPress软件的默认下载的是在⼀个名为latest.zip的压缩⽂件。你也可以把WordPress压缩到⼀个名为的压缩⽂件中。归档⽂件中的⽂件内容没有区别,只是使⽤的压缩⽅法不同。
你可以直接从这些url下载zip和tar⽂件:
这些下载链接永远不变。每个新版本的WordPress在tag的时候都会⾃动压缩并保存在这个位置。当你将存档⽂件保存到你的电脑上时,你最好将⽂件重命名为包含WordPress版本号的⽂件,例如WordPress‐4.1.zip,这将帮助你记住你保存到你的电脑上的WordPress版本。
发布版本归档
请记住,只有最新版本的WordPress是积极维护的,所以这些下载更多的是参考⽽不是实际使⽤。“积极维护”意味着对活动分⽀进⾏安全、性能或可靠性问题的关键修复,⽽不是对以前的版本进⾏追溯。如果你需要修复,你需要升级你已经安装的WordPress版本。
这些旧版本的WordPress的另⼀个重要⽤途是将⽹站还原到以前的版本。例如,如果你将⼀个⾮常旧的WordPress版本升级到最新的稳定版本,并遇到了问题,你可以轻松地下载⽹站最初运⾏的旧版本并恢复到原来的版本。发布档案还提供了WordPress测试版和候选版本的下载功能。我们很⾼兴看到WordPress作为⼀个软件平台整体在不断成长。
如果你需要更新⼀个旧版本的WordPress,它的发布归档也很有⽤。只需将⽹站的WordPress源代码与发布归档中的相同版本的WordPress 源代码进⾏⽐较,就会发现任何不同之处或核⼼漏洞。
⽬录和⽂件结构
WordPress源代码具有许多不同的PHP、JavaScript和CSS代码⽂件。每个⽂件在WordPress中都有特定的⽤途。开源软件的美妙之处在于,所有的代码都是公开可⽤的,这意味着你可以轻松地探索代码,更好地理解WordPress是如何运⾏的。学习WordPress最好的资源就是WordPress软件本⾝。
下载解压WordPress后,会看到WordPress的⽂件结构,如图2-1所⽰。
WordPress默认有三个⽬录:wp‐admin, wp‐content, wp‐includes。核⼼⽂件是wp-admin和wp-includes⽬录下的所有⽂件,以及WordPress 根⽬录下的⼤部分⽂件。wp‐content⽬录包含所有的⾃定义⽂件,包括主题、插件和媒体。这个⽬录包含控制WordPress中内容操作和表⽰的代码。WordPress HTML内容(如页⾯和⽂章)与元数据(如标签和类别结构)⼀起存储在MySQL数据库中,这两者都将在第6章详细介绍。修改任何WordPress核⼼⽂件都可能导致⽹站不稳定。例如,对仪表板或登录功能进⾏⼀个⽆害但执⾏得很糟糕的更改,就会让你的WordPress安装⽆法管理。核⼼更改也使更新WordPress变得⾮常困难,因为所有的更改都会在更新版本的WordPress安装后被覆盖。正如在前⼀节中所讨论的,关键补丁WordPress核⼼只在当前分⽀,所以如果你被迫更新WordPress安全补丁,核⼼⽂件有可能被覆盖,你要祈祷任
何核⼼代码的更改不会和你原来希望更改冲突。当你不改变核⼼⽂件时,随着时间的推移保持你WordPress安装的完整性和稳定性会变得简单得多。
WordPress配置
WordPress有⼀些特定的⽂件,可以根据不同的⽬的进⾏编辑。这些⽂件可以改变WordPress的功能。在发布到服务器之前,⼀定要在开发环境中测试更改。本节介绍了数据库连接、存储FTP信息、启⽤调试⼯具等使⽤wp‐config.php的内容。它还涵盖了.htaccess⽂件的强⼤功能,包括增加PHP内存限制和最⼤上传⼤⼩,创建重定向,以及设置访问限制。
wp‐config.php⽂件
WordPress中最重要的⽂件是wp‐config.php⽂件。这个⽂件包含访问MySQL数据库的所有数据库连接设置,包括数据库名称、⽤户名和密码。这个⽂件还存储额外的数据库和其他⾼级的WordPress设置。wp‐config.php⽂件最初命名为wp‐config-sample.php。将⽂件重命名为wp‐config.php是安装WordPress的第⼀步。
wp‐config.php⽂件通常存储在WordPress的根⽬录下。或者,你可以把wp‐config.php⽂件从WordPress根⽬录移到⽗⽬录。所以如果你的WordPress⽬录在这⾥:
/public_html/my_website/wp-config.php
你可以安全地把⽂件移到这⾥:
/public_html/wp-config.php
WordPress⾸先在根⽬录下查wp-config.php⽂件,如果不到,就在⽗⽬录下查。这是⾃动发⽣的,因此不需要更改任何设置就可以⼯作。
将wp‐config.php从WordPress根⽬录中移出是⼀个很好的安全措施,这使得它⼏乎不可能从web浏览器访问这个⽂件。
WordPress中的⼀些选项被保存为常量,可以在wp‐config.php⽂件中看到。这些常量都有相同的格式:
define('OPTION_NAME', 'value' );
OPTION_NAME是正在设置的常量选项的名称;Value是选项值,可以更新为你想为该选项保存的任何设置。当向wp‐config.php⽂件中添加新选项时,重要的是将选项添加到以下⾏之前:
/* That's all, stop editing! Happy blogging. */
如果你的WordPress安装在连接数据库时出现问题,这往往是你第⼀个遇到问题的地⽅。如果你收到错误消息“错误建⽴⼀个数据库连接”,⾸先要做的是验证数据库服务器的db_name, db_user,和db_password选项是否正确设置。还要验证DB_HOST名称是否设置为服务器的正确主机。通常,这被
设置为localhost,但是⼀些托管公司将WordPress包配置为不同机器上的web服务器和MySQL服务器,需要⼀个特定于主机公司的配置选项来定位MySQL数据库。请联系您的主机技术⽀持或咨询他们的在线⽂档,在这⾥设置正确的主机值。
您可以通过更改db_charset选项值来更改数据库字符集(charset)。默认情况下,它被设置为utf8 (Unicode UTF‐8),它⽀持任何语⾔,并且⼏乎总是最好的选择。
从WordPress 2.2开始,DB_COLLATE选项允许指定数据库排序,也就是字符集的排序顺序。(字符是⼀种语⾔中表⽰字词的符号集合。排序规则决定在对字符集排序时使⽤的顺序,通常是字母顺序。)默认情况下,该选项为空⽩,通常应该保持这种状态。如果你想更改数据库排序,只需为你的语⾔添加适当的值。那应该在安装WordPress之前改变这个选项。在安装后更改这个值可能会导致WordPress出现问题。
WordPress的安全性可以通过在wp-config.php⽂件中设置密钥来加强。密钥是⼀个散列盐(hash salt),通过在你设置的密码中添加随机元素(散列盐 hash salt),使你的站点更难被破解。这些密钥并不是WordPress正常⼯作所必需的,但是它们为你的⽹站增加了额外的⼀层安全防护。
你可以在任何时候添加或更改这些键;唯⼀会发⽣的事情是所有当前的WordPress cookies将会失效,你的⽤户将被要求重新登录。php包含的另⼀个安全特性是为WordPress定义数据库表前缀的能⼒。默
认情况下,该选项值被设置为wp_。你可以通过将$table_prefix变量值设置为任意前缀来改变这个值,如下所⽰:
$table_prefix = 'lecter_';
wp‐config.php⽂件还包含本地化WordPress安装的选项。WordPress有内置的功能,可以在许多不同的语⾔中使⽤。设置WPLANG选项值将设置WordPress使⽤的默认语⾔。wp‐content/languages选项必须安装对应所选语⾔的MO(机器对象)⽂件才能⼯作。MO⽂件是压缩的PO(可移植对象 portable object)⽂件,它包含WordPress消息和特定语⾔的⽂本字符串的翻译。MO和PO⽂件是GNU“gettext”⼦系统的组成部分,它是WordPress多语⾔功能的基础。有关MO语⾔⽂件的完整信息列表,请访问以下资源:
使⽤WP_DEBUG选项可以更容易地调试WordPress中的错误。启⽤WP_DEBUG将在屏幕上显⽰WordPress错误,⽽不是在⽩屏上隐藏这些错误。要启⽤WP_ DEBUG,只需将选项值设置为true
define( 'WP_DEBUG', true );
WordPress的新安装将在wp‐config.php中定义这个选项为false。如果未定义此选项,则默认为false,不显⽰错误消息。当你完成调试时,请记住禁⽤或删除此选项,因为错误消息可能帮助⿊客在你的⽹站中到漏洞。
我们建议你在WordPress中开发时始终保持WP _ DEBUG开启,以解决可能显⽰的任何警告或错误。
wp‐config.php⾼级配置选项
你可以在wp‐config.php⽂件中设置其他⾼级选项。默认情况下,这些选项不在wp-config.php⽂件中,所以你需要⼿动将它们添加到⽂件中。要设置你的WordPress地址和博客地址,使⽤以下两个选项:
define( 'WP_SITEURL', 'example/wordpress' );
define( 'WP_HOME', 'example/wordpress' );
WP_SITEURL选项允许你临时更改WordPress站点的URL。这并不改变siteurl的数据库选项值,⽽是临时改变了值。如果该选项被删
除,WordPress将恢复使⽤siteurl数据库设置。WP_HOME选项的⼯作⽅式完全相同,让你暂时改变WordPress的HOME值。两个值都应该包含完整的URL,包括http:/
如果你⽤⼀个临时的开发URL(如ample)构建WordPress⽹站,这是⼀个很有⽤的技巧。你可以简单地删除这两个选
项,WordPress将使⽤配置好URL来加载。
WordPress 3.7版本引⼊了WordPress的⾃动后台更新。默认情况下,只有⼩版本(例如,4.1, 4.2.x等等)会⾃动更新。⽬前有四种类型的⾃动后台更新:
核⼼更新
插件更新
主题更新
转换⽂件更新
要完全禁⽤所有⾃动更新,包括刚才列出的所有四种类型,你需要设置automatic_UPDATER_DISABLED常数为true,如下所⽰:
define( 'AUTOMATIC_UPDATER_DISABLED', true );
或者,你可以为主要版本和开发⽬的启⽤⾃动更新。使⽤WP_ AUTO_UPDATE_CORE常量,你可以⽤以下三种⽅式之⼀来定义⾃动更新:
true -主版本(Major)、次版本(minor)和开发⾃动更新都是可⾏的。
false -主版本(Major)、次版本(minor)和开发⾃动更新都是禁⽤的。
⼩的更新可⾏。主要和开发更新被禁⽤。
// Enables all core updates, including minor and major:
define( 'WP_AUTO_UPDATE_CORE', true );
// Disables all core updates:
define( 'WP_AUTO_UPDATE_CORE', false );
// Enables core updates for minor releases (default):
define( 'WP_AUTO_UPDATE_CORE', 'minor' );
define( 'WP_CONTENT_DIR', $_SERVER['DOCUMENT_ROOT'] .'/blog/wp-content' );
define( 'WP_CONTENT_URL', 'example/blog/wp-content');
WP_CONTENT_DIR选项的值含义是wp‐content⽬录的完整本地路径。WP_CONTENT_URL是这个⽬录的完整URI。你可以这样设置插件⽬录的路径:
define( 'WP_PLUGIN_DIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/wp-content/plugins' );
define( 'WP_PLUGIN_URL', 'example/blog/wp-content/plugins');
WP_PLUGIN_DIR和WP_PLUGIN_URL是开发者⽤来确定插件⽂件夹所在位置的选项。如果开发者不使⽤这些常量,那么如果移动wp-content⽬录,他们的代码很有可能会崩溃。如果没有在开发环境中进⾏测试,永远不要移动⽣产服务器上的wp‐content⽬录。
define( 'UPLOADS', 'blog/wp-content/my-filez' );
上传⽬录必须存在于包含WordPress core⽂件的⽬录或⽬录中的⼦⽬录中,不能存在于WordPress⽂件夹结构之外。WordPress会为每⼀篇⽂章或页⾯保存修改。编辑的内容可以通过点击保存或发布按钮保存,也可以通过WordPress内置的⾃动保存功能保存。
想象⼀下,如果你创建的每个帖⼦都有10次修改。如果你有100篇⽂章,那么你的数据库中就会有1000条记录。这可能会迅速增加数据库的⼤⼩,甚⾄可能降低⽹站的速度,因为在较⼤的数据库中获取表记录需要更长的时间。幸运的是,WordPress有⼀个内建的后修正选项,叫做WP_post_revisions。您可以将此选项设置为false以完全禁⽤所有的⽂章修订,或者您可以指定为每个⽂章或页⾯保留的最⼤修订数。以下是这两种情况的例⼦:
define( 'WP_POST_REVISIONS', false );
define( 'WP_POST_REVISIONS', 5 );
你也可以通过设置AUTOSAVE_interval选项来配置⾃动保存时间间隔。WordPress在编辑⽂章时使⽤了AJAX来⾃动保存修改。缺省情况下,时间间隔为60秒。您可以在wp‐config.php中设置⾃动保存的秒间隔。使⽤此代码将⾃动节省时间设置为5分钟:
define( 'AUTOSAVE_INTERVAL', 300 );
SAVEQUERIES是⼀个很好的调试选项。激活此选项会将所有数据库查询保存到可以显⽰在页⾯上的全局数组中。这可以帮助调试查询问题,也可以查看在每个页⾯加载时WordPress正在执⾏什么。如果你正在处理⼀个主题或插件,并且似乎不能得到正确的⽂章集,这个调试选项将告诉你WordPress到底想从数据库中得到什么。通过将值设置为true来启⽤此选项
define( 'SAVEQUERIES', true );
要在主题中显⽰查询数组,请在要查看的主题模板⽂件中添加以下代码:
if ( current_user_can( 'manage_options' ) ) {
global $wpdb;
print_r( $wpdb->queries );
}
上⾯的代码只有在登录⽤户有能⼒管理选项时才显⽰保存的查询数组,本质上是锁定它,因此只有站点管理员才能看到输出。主题和模板⽂件将在第9章中讨论。也可以直接从的wp‐config.php⽂件中启⽤⽇志记录。要启⽤⽇志记录,⾸先需要创建⼀个php_error.log⽂件并上传到WordPress根⽬录。然后把在log_errors PHP选项中指向你的⽇志⽂件:
@ini_set( 'log_errors','On' );
@ini_set( 'display_errors','Off' );
@ini_set( 'error_log','/public_html/wordpress/php_error.log' );
所有错误现在都将被记录到这个⽂件中。这个⽂件还将记录由于启⽤前⾯讨论的WP_DEBUG选项⽽产⽣的任何错误。在前⾯的⽰例
中,display_errors被设置为Off,这对于实际站点来说⾮常合适,因为我们不希望显⽰错误消息。如果正在调试并希望实时查看错误,只需将该选项设置为On。要记住error_log的值是相对于web服务器的⽂档根⽬录,⽽不是WordPress根⽬录。
你也可以通过WP_MEMORY_LIMIT选项来设置允许WordPress使⽤的内存限制。如果你的⽹站达到WordPress运⾏的内存限制,你会看到错误“允许的内存⼤⼩xxxxx字节耗尽。”增加内存限制可以解决这个问题。内存限制的设置单位为兆字节:
define( 'WP_MEMORY_LIMIT', '64M' );
只有你的托管公司允许时,才可以设置此选项。⼀些托管公司不允许动态更改内存限制,并且将此值设置得很低。这个问题通常出现在成本较低的主机托管公司,这些公司通过将更多的web服务器实例打包到单个物理主机上来维持其价格,从⽽造成内存占⽤的竞争。所以这只会增加WordPress的内存,⽽不会增加服务器上运⾏的其他应⽤程序的内存。要提⾼所有⽹站的内存限制,要设置php_value_memory_limit变量,这个变量在php.ini⽂件。当导⼊⼤量内容时,⽐如数⽉或多年的博客⽂章,我们可能会达到这个内存限制。
WordPress的⼀个重要的特性是内置本地化器。WordPress默认显⽰为英⽂,但可以轻松设置显⽰任何已翻译的语⾔。设置WPLANG选项触发WordPress加载指定的语⾔⽂件
define ( 'WPLANG', 'en-GB' );
前⾯显⽰的选项值包括ISO‐639语⾔代码,然后是ISO‐3166国家代码。所以en-GB就是English-GreatBritain。此设置将引⽤您的.mo和. profile进⾏语⾔翻译。您还可以定义LANGDIR选项。这个选项定义了存放language .mo⽂件的⽬录。默认情况下,WordPress会以wp‐content/languages路径格式查看.mo⽂件。如果你想移动这个⽂件夹,只需参考这样设置LANGDIR选项:
define( 'LANGDIR', '/wp-content/bury/my/languages' );
WordPress现在会在新位置查你的.mo⽂件。CUSTOM_USER_TABLE和CUSTOM_USER_ META _TABLE也是⾮常强⼤的选项。如果你想让两个或更多单独的WordPress安装使⽤同⼀个⽤户帐户,它们很有⽤。记得在安装WordPress之前设置这个。
define( 'CUSTOM_USER_TABLE', 'joined_users' );
define( 'CUSTOM_USER_META_TABLE', 'joined_usermeta' );
通过设置这两个选项,您可以定义默认的WordPress⽤户和usermeta数据库表的名称。这样做意味着两个⽹站共享⽤户信息,包括⽤户名、密码、作者简介等等。这是⼀个很好的⽅法来建⽴⼀个新的WordPress安装,但不丢失与当前⽤户帐户同步。
如果你想让你的⽤户在每个安装的WordPress上有不同的⾓⾊,但仍然共享⽤户帐户,不要设置CUSTOM_user_META_TABLE选项。存储在⽤户表中的所有内容将保持不变,但其他内容将是特定于博客的(即,⽤户级别,名和姓,等等)。你可以设置多个cookie选项,如cookie_ DOMAIN, COOKIEPATH,和SITECOOKIEPATH .这些选项通常⽤于WordPress多站点安装,利⽤⼦域名的⽹站。这允许你设置主域名,以便可以在所有cookie上创建和验证cookie⽹络中的⼦域名。
define( 'COOKIE_DOMAIN', '.domain' );
define( 'COOKIEPATH', '/' );
define( 'SITECOOKIEPATH', '/' );
通常不需要使⽤或更改这个选项,但如果遇到cookie问题,这是⾸先要检查的地⽅。由于包含了插件和主题的⾃动安装功能,以及⾃动更新过程,你可以在wp‐config.php⽂件中直接设置FTP设置。只有当你的主机未配置为⽀持⾃动安装时,才需要这样做。这很容易检查,因为每次试图安装插件或主题时,都会被要求提供FTP信息。要在WordPress中保存你的FTP信息,请在wp-config.php⽂件中添加以下选项:
define( 'FTP_USER', 'username' );
define( 'FTP_PASS', 'password' );
define( 'FTP_HOST', 'ample:21' );
只需输⼊FTP⽤户名、密码和主机端⼝,就万事俱备了!使⽤⾃动安装程序时,WordPress将不再询问你的FTP信息。您可以为各种配置设置额外的FTP/SSH选项:
// sets the filesystem method: "direct", "ssh", "ftpext", or "ftpsockets"
define( 'FS_METHOD', 'ftpext' );
// absolute path to root installation directory
define( 'FTP_BASE', '/public_html/wordpress/' );
// absolute path to wp-content directory
define( 'FTP_CONTENT_DIR', '/public_html/wordpress/wp-content/' );
// absolute path to wp-plugins directory
define( 'FTP_PLUGIN_DIR ', '/ public_html /wordpress/wp-content/plugins/' );
// absolute path to your SSH public key
define( 'FTP_PUBKEY', '/home/username/.ssh/id_rsa.pub' );mysql下载完如何使用
// absolute path to your SSH private key
define( 'FTP_PRIVKEY', '/home/username/.ssh/id_rsa' );
// secure FTP SSL-connection if supported by the hosting company
define( 'FTP_SSL', false );
你也可以在WordPress中使⽤FS_CHMOD_FILE和FS_CHMOD_ DIR选项覆盖默认⽂件权限:
define( 'FS_CHMOD_FILE', 0644 );
define( 'FS_CHMOD_DIR', 0755 );
⼀些缓存插件需要WP_CACHE选项才能⼯作。此选项将包含在wp‐content/advanced‐cache.php中。要启⽤此选项,请使⽤以下代码:
define( 'WP_CACHE', true );
WordPress有很多常量选项可以设置。有⼀个PHP函数可以查看当前安装时设置的所有常量:
print_r( @get_defined_constants() );
⼀个⾼级选项是在登录WordPress⽹站时强制使⽤SSL。这需要⽤户登录通过HTTPS访问链接和加密所有数据传输到和从您的⽹站。要在登录时激活SSL,添加FORCE_SSL_ login选项,如下所⽰:
define( 'FORCE_SSL_LOGIN', true );
您还可以强制所有管理页⾯使⽤SSL。这是通过FORCE_ SSL_ ADMIN选项激活的,如下所⽰:
define( 'FORCE_SSL_ADMIN', true );
在WordPress的管理端强制使⽤SSL是⼀个很好的安全增强。所有进出WordPress的数据都将被加密,防⽌有⼈窃取你的WordPress登录凭证。
从2.9版开始,WordPress就有了⼀个垃圾桶。此垃圾桶包含已删除的任何帖⼦、页⾯、附件和评论。这允许你恢复任何你可能在WordPress 中意外删除的内容。默认情况下,垃圾箱每30天清空⼀次。清空回收站将永久删除回收站中的任何项⽬。你可以设置
EMPTY_TRASH_DAYS选项来修改这个时间间隔:
define( 'EMPTY_TRASH_DAYS', 7 );
垃圾将会每7天⾃动清空⼀次。您还可以通过将选项值设置为0来完全禁⽤垃圾。垃圾链接现在将被永久删除链接取代。记住,当你永久删除时WordPress不会要求你确认。还有⼀个选项可以禁⽤WordPress cron。Cron⽤于在WordPress中执⾏定时任务。⼀些常见的计划任务包括发布⼀个计划的帖⼦,检查WordPress的新版本,主题和插件。要禁⽤WordPress cron,那在wp-config.php⽂件中添加此选项:
define( 'DISABLE_WP_CRON', true );
.htaccess
使能永久(固定)连接Permalinks
开启永久链接,要进⼊WordPress Dashboard的“设置”页⾯,如图2-3所⽰。选择除“默认”之外的任何永久链接结构,并单击“保存更改”链接。保存更改后,WordPress会尝试创建默认的.htaccess⽂件。如果你的WordPress根⽬录是服务器可写的,⽂件会⾃动创建。如果WordPress⽆法创建.htaccess⽂件,你会看到如何⼿动创建⽂件的说明,如图2-4所⽰。
使⽤⽉和年⽇期可以创建永久链接如下:
搜索引擎优化(SEO) -关键字在你的URL可以给你的⽹站⼀个很⼤的SEO提升。搜索引擎将在其算法中使⽤这些关键字来在搜索结果中进⾏定位。
向前兼容性-⽆论你的⽹站使⽤什么平台(WordPress, Drupal, Joomla!),⼀个稳定的永久链接结构可以很容易地复制,如果你曾经迁移过。
可⽤性——访问者不友好的ID url使与朋友分享链接同样不愉快。很难区分你的ID驱动url之间的内容。
分享——在这个社交⽹络的互联⽹时代,分享是你在线存在的⾃然延伸。在URL中的关键字将使到你的链接⾮常容易,并传达内容的直接上下⽂。
.htaccess重写规则
通常,web服务器获取⼀个URL,该URL引⽤服务器⽂档⽂件系统中的⼀个⽂件,加载该⽂件,并处理其中的内容,以⽣成返回给⽤户浏览器的HTML。
对于wp‐login.php这样的WordPress⽂件,登录屏幕就是这样⽣成的。当⾯对⼀个漂亮的永久链接如
example/2015/travel/haddonfield/、web服务器只需要加载主循环的WordPress,核⼼代码可以解析URL并将其转化为数据库查询,发现⼀篇⽂章的标题Haddonfield旅游的范畴。与静态⽹站不同的是,WordPress将内容存储在数据库中,只有少数⽂件会被直接加载。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。