从PHP调用mod_rewrite,或等效程序

从PHP调用mod_rewrite,或等效程序,php,wordpress,apache,.htaccess,mod-rewrite,Php,Wordpress,Apache,.htaccess,Mod Rewrite,我正在创建一个新的wordpress网站。我已经从我的旧网站导入了1500多篇帖子。问题是wordpress的URL中有“an-The-a-if-is”这样的词,我的旧网站从中删除了这些词 这是SEO和断开链接的一个主要问题,因为新链接看起来像“帽子里的猫”,而我的旧链接只是“帽子里的猫” 我只想更改我上传的过去1500篇文章,从URL中删除指定的单词(我假设是通过重写),我有要删除的单词列表。我希望创建的所有新帖子都包含这些词,所以我不想只使用.htaccess 有没有办法通过PHP说“如果帖

我正在创建一个新的wordpress网站。我已经从我的旧网站导入了1500多篇帖子。问题是wordpress的URL中有“an-The-a-if-is”这样的词,我的旧网站从中删除了这些词

这是SEO和断开链接的一个主要问题,因为新链接看起来像“帽子里的猫”,而我的旧链接只是“帽子里的猫”

我只想更改我上传的过去1500篇文章,从URL中删除指定的单词(我假设是通过重写),我有要删除的单词列表。我希望创建的所有新帖子都包含这些词,所以我不想只使用.htaccess


有没有办法通过PHP说“如果帖子的日期早于XYZ日期,请删除这些单词,并从新重写的URL中提供,否则,请正常提供”

Wordpress本身有一些选项,可以更改URL的形成方式,我想这是在“常规选项”或“编写”下进行的。在这两种情况下,您都可以自定义用于URL的内容或使用预定义的内容。Wordpress已经在利用
htaccess
mod_rewrite
将所有内容传递到index.php。改变这种行为并覆盖Wordpress需要的内容可能会导致WP整体崩溃

最重要的是,你想做的事情有方法吗。。他们可能会被Wordpress黑客攻击,或者他们现在可能是WP中的集成选项(我使用WP已经有一段时间了,所以我记不太清楚了。但是我知道你通常通过WP直接寻找什么是可能的


关于这一点,如果你从一个旧的WP站点导出到一个新的WP站点,那么导出从帖子到设置的所有东西的方法也可能会考虑这个选项。

< P>你可以在数据库上运行下面的命令:

UPDATE `wdp_posts`
SET `post_name`= REPLACE(`post_name`,"-and-","-"),
WHERE `post_date` < "20120101 00:00:00";
更新`wdp\U帖子`
设置'post\u name`=REPLACE('post\u name`、“-和-”、“-”),
其中“发布日期”为“20120101 00:00:00”;
(请在尝试此操作之前备份数据库!)

这样做的目的是重命名2011年1月1日之前的任何帖子,删除名称(成为URL)中出现的“-和”

您需要编辑日期以满足您的需要

您需要多次运行此操作。一次用于“-And-”,一次用于“-if-”,一次用于“-in-”,等等。正如注释中指出的,它不会替换url开头或结尾的单词


你可以在一个查询中完成这项工作,但是阅读起来相当困难,所以我建议你一次只做一个关键字。

Sorry@chris,但是没有从URL slug中删除单词的内置功能。有一些插件,但它们都会在你安装插件后更改帖子,你必须返回到以前的每一篇帖子,并再次将其保存以供下载哦,我误读了你文章的最后一部分,以为你在url ie
2012/08/post blah blah/
中谈论了实际日期,把我自己弄糊涂了。我很抱歉,如果你谈论的是获取现有的slug并想要对其进行物理修改,那么你可以随时拿出一个脚本,在在数据库中插入很多,如果日期比所需日期早,则用删除的单词更新该行。但我认为我还不能完全理解您的需要,所以我会在我还是个脑袋的时候闭上嘴。这是一个正确的想法。mysql查询说“取下slug,删除这些单词,然后放回原处”很好。在这种情况下,我将使用谷歌搜索正确的命令。感谢@chrisof进行测试。我刚刚做了一个备份。工作正常。这只会替换URL开头或结尾以外的单词。这是因为它替换了部分单词。例如“-a”将替换像“-apple”这样的单词中的字母a这是我使用的代码,
UPDATE
wp_posts`SET
post_name
=REPLACE(
post_name
,“-a-”,“-”);`@user1286782很好,我已经用你的建议更新了答案。希望这个错误没有影响任何重要的事情!