📜  mod_rewrite 永久链接 wordpress (1)

📅  最后修改于: 2023-12-03 14:44:19.894000             🧑  作者: Mango

mod_rewrite 永久链接 WordPress

简介

mod_rewrite 是一个服务器模块,用于 Apache 服务器上的 URL 重写。在允许使用 .htaccess 文件的服务器上,mod_rewrite 可以用来实现对 WordPress 常用的永久链接(Permalink)结构的重写设置。

使用步骤

以下请参考 WordPress 官方文档

  1. 在 WordPress 后台管理页面的“设置”>“永久链接”中,选择“自定义结构”,输入你想要的链接格式,例如:
/%category%/%postname%/

这个链接格式表示文章的永久链接包括文章所属的分类和文章标题,中间用斜杠分隔。

  1. 在站点根目录下创建 .htaccess 文件。

如果该文件已经存在,则打开它并在“# BEGIN WordPress”和“# END WordPress”之间的区域添加以下代码:

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

如果该文件不存在,则需要创建它并赋予适当的文件权限(请参考Apache官方文档)。

  1. 保存 .htaccess 文件并刷新 WordPress 的永久链接设置。
代码片段

下面是上述 .htaccess 文件中的代码片段,以供参考:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
注意事项
  1. WordPress 根目录下的 .htaccess 文件如果没有正确设置文件权限,会导致 WordPress 初始化失败,站点无法正常访问。因此,在创建 .htaccess 文件时,请务必设置正确的文件权限。

  2. 如果你需要修改 WordPress 的永久链接格式,请务必在修改之前备份 .htaccess 文件。

  3. 如果你需要在永久链接格式中包含文章的发布日期,请对应修改自定义结构,例如:

/%year%/%monthnum%/%day%/%postname%/
  1. 如果你需要在永久链接格式中包含文章的 ID,请对应修改自定义结构,例如:
/%post_id%/%postname%/
参考文献
  1. Apache模块mod_rewrite - Apache文档中文版
  2. Using Permalinks - WordPress Codex