我最近将我的博客从一个服务器移动到另一个服务器。我现在无法恢复我的永久链接结构。
现在我的永久链接结构变成了 /?p=123。每当我尝试将其更改为任何其他自定义永久链接结构时,它都会为所有帖子抛出 404。查看http://microreviews.org上的博客 我被迫将永久链接结构设置为 /?p=123。然而,来自搜索引擎的所有条目都在旧结构 /%postname%/ 上
相同的插件似乎都不起作用,我被 ?p=123 结构困住了。
我应该怎么办?
我最近将我的博客从一个服务器移动到另一个服务器。我现在无法恢复我的永久链接结构。
现在我的永久链接结构变成了 /?p=123。每当我尝试将其更改为任何其他自定义永久链接结构时,它都会为所有帖子抛出 404。查看http://microreviews.org上的博客 我被迫将永久链接结构设置为 /?p=123。然而,来自搜索引擎的所有条目都在旧结构 /%postname%/ 上
相同的插件似乎都不起作用,我被 ?p=123 结构困住了。
我应该怎么办?
假设您在 Apache 服务器上:
另一个选项不是使用 .htaccess(尽管 Wordpress 是围绕修改该文件构建的),您可以获取 .htaccess 文件的内容并将它们添加到 httpd.conf (或虚拟主机配置文件)中的指令中。这种方法需要更多地访问您的 apache 安装(即它可能不适用于某些托管解决方案),但根据 Apache httpd 文档,它更安全且在服务器上的工作更少,因为 apache 每次都会扫描每个目录中的 .htaccess 文件页面被访问,并且每次访问页面时它都会重新加载 .htaccess 文件。如果访问被放入服务器配置,那么它会在 apache 启动(或服务器重新加载)时加载一次,就是这样。
例如:如果您的 .htaccess 文件包含 /www/htdocs/example 目录的以下内容
AddType text/example .exm
那么您的 httpd.conf 文件中的以下内容将是等效的
<Directory /www/htdocs/example>
AddType text/example .exm
</Directory>
编辑主配置而不是 .htaccess 的方法不需要您将 AllowOverride 指定为 None 以外的其他内容。
在这种情况下,您仍然需要启用 mod_rewrite 才能使永久链接正常工作。