固定链接打开附件而不是页面

时间:2011-02-15 作者:Jonathan Sayce

我最近将一个博客从一个主机移动到另一个主机,现在永久链接出现了问题-它现在打开的不是一个页面,而是一个附件。

该博客使用的是运行在PHP 5和IIS 7.0上的WP 3.0.4。永久链接设置为使用“/%postname%/”和web。配置如Codex. 该博客是使用WP导出和导入工具移动的。

先前http://site/blog/map 打开了一个名为map的页面,但它现在正在打开http://site/blog/?attachment_id=xx. 有人知道如何改变这种行为吗?

谢谢你,乔恩。

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

附件以其文件名(减去扩展名)作为帖子名存储。所以如果你上传了一个叫做map的附件。xyz,它将与您的页面具有相同的名称。

因此,首先,如果您有“地图”附件,请检查您的媒体库。其次,检查你的“地图”页面是否仍然存在,并且仍然有相同的slug。

当wordpress试图解决您的请求时,它无法判断您所指的是帖子(/附件)还是页面。

我可以想象wordpress在导入导出的过程中也会进行一些简单的混合,以避免帖子名称的重复。它可能先导入了附件,然后导入了页面,并将您的页面名称混合到其他内容中。

尝试对永久链接使用/posts/%postname%/,这会将它们与页面区分开来。

另请阅读:http://codex.wordpress.org/Using_Permalinks#Structure_Tags

SO网友:Jan Fabry

如果你的permalink结构是/%postname%/, WordPress应该为页面创建详细的重写规则。这意味着各个页面在发布或附件的任何其他规则之前都有自己的规则。这似乎没有发生-可能是因为进口?你能检查一下你当前的规则吗my rewrite analyzer plugin? 你应该在顶部看到你的所有页面,然后是你帖子的规则。如果这不起作用,请尝试禁用然后重新启用pretty permalinks,这应该会重新生成规则。

结束

相关推荐

WordPress 3.0.1 on IIS 6 Web Server PermaLink Issues

最近,我无意中发现了这个博客“用WordPress在IIS6上使用IIRF URL重写”(http://john-sheehan.com/blog/using-iirf-url-rewriting-on-iis6-with-wordpress/ ) 我在Mac OS X上开发了一个运行MAMP的WordPress站点,然后将该站点移植到MS IIS6 Windows 2003服务器环境中。转到主页一切正常,但我的所有其他页面都找不到-404。我的网站是用WordPress 3.0.1中的PermaLink