0

我试图解决我们的一个 wordpress 博客的问题。我们有一个 pdf 存储在网站的根目录中。

www.mydomain.com/pdfs/mypdf.pdf

但是 wordpress 中指向该 pdf 的所有链接都有一些原因,我还不确定所有这些链接都是相对于当前的帖子/标签/类别等进行的

www.mydomain.com/blog/mypost/pds/mypdf.pdf

这导致了很多 404 错误。现在有几百页这样的页面,我真的不想手动浏览它们。我可以用 .htaccess 做些什么来解决这个问题吗?

提前致谢

艾伦

我现在有这个。

RewriteRule ^urlaub_cornwall_sonderangebote\.pdf$ "http\:\/\/www\.urlaubcornwall\.de\/pdf\/urlaub_cornwall_sonderangebote\.pdf" [R=301,L]

尽管肯定启用了 url 重写,但它在我的本地机器上完成了这项工作,但在服务器上却没有。有什么提示吗?

需要将规则移到标准 wordpress 规则之上才能正常工作。现在一切都解决了。

4

1 回答 1

0

我不确定您是否需要在此处重写 URL。有一个简单的解决方案 - 您可以尝试通过 MySQL 查询更新您的帖子表中的链接。MySQL 数据库有一个方便且简单的字符串函数REPLACE(),允许将匹配字符串 ( from_string) 的表数据替换为新字符串 ( to_string)。如果需要搜索和替换影响许多记录或行的文本字符串,例如更改公司名称、邮政编码、URL 或拼写错误,这将非常有用。

的语法REPLACEREPLACE(text_string, from_string, to_string).

MySQL 参考将 REPLACE 描述为返回字符串的函数,text_string其中所有出现的字符串都from_string替换为 string ,其中在搜索时to_string匹配区分大小写from_stringtext_string也可以从数据库表中的 a 字段中检索,如下所示:

UPDATE wp_posts SET post_content = REPLACE(post_content, 'www.mydomain.com/pdfs/mypdf.pdf', 'www.mydomain.com/blog/mypost/pds/mypdf.pdf')

我假设您没有更改默认的 Wordpress 表名称,如果没有更改,只需在复制粘贴之前替换上述查询中的名称。

于 2012-04-30T11:38:49.087 回答