使用 htaccess 屏蔽/更改 url - wordpress slug

Posted

技术标签:

【中文标题】使用 htaccess 屏蔽/更改 url - wordpress slug【英文标题】:Masking / changing url with htaccess - wordpress slug 【发布时间】:2014-10-03 10:46:10 【问题描述】:

对于我的一个新的 Wordpress 网站,我遇到了一个小问题。

有一个名为“vehicle”的自定义帖子类型,它使用 url slug 'vehicle'。

问题是,我的网站不是针对汽车,而是针对船,所以我想将 URL 更改为 www.domain.com/boats/boatname1 而不是 www.domain.com/vehicle/boatname1。

我已使用以下代码成功编辑了 slug - 之后我刷新了重写 url 并来回更改了永久链接:

function change_vehicle_rewrite_rules() global $wp_post_types; $rewrite = &$wp_post_types['vehicle']->rewrite; $rewrite['slug'] = 'horses'; add_action( 'init', 'change_vehicle_rewrite_rules', 999 );

在我的主页上,有显示 www.domain.com/boats/boatname 的 nog 链接,但是当我点击它们时,我得到一个 404。如果我将 url 更改为 www.domain.com/vehicle/boatname 它确实有效。所以 url 已经改变了,但是工作帖子仍然显示在 /vehicle/ 下而不是 /boats/ 下。

有没有办法,也许使用 .htaccess,以便我网站上显示 /vehicle/ 的每个 url 都更改为 /boats/ ?

或者当我点击链接 www.domain.com/boats/boatname 时,它​​会显示 /vehicle/ 内容,但在 URL 中显示 /boats/。

提前感谢您的帮助!

迈克

【问题讨论】:

我认为篡改 .htaccess 不会有任何好处。虽然您可能会解决此问题(例如,当 url 中包含“boat”时传递 type=vehicle,这将导致进一步破坏。Worpress 需要通过其内部重写逻辑来处理所有事情。您应该尝试保留车辆类型,但在尝试任何其他解决方案之前将其 slug 更改为船。 【参考方案1】:

我们在这里讨论了多少个不同的 URL?如果不是很大,您可以查看其中一个文本替换插件并指定每个原始 URL,以及您希望将文本替换为什么(即:从“车辆”到“船”)

http://wordpress.org/plugins/text-replace/

【讨论】:

以上是关于使用 htaccess 屏蔽/更改 url - wordpress slug的主要内容,如果未能解决你的问题,请参考以下文章

使用 htaccess 重定向页面,但保留 URL 结构并仅更改域

使用 htaccess 重定向子域而不更改地址栏中的 URL

.htaccess:重定向而不更改 url

HTACCESS 重写:忽略语言代码并将 index.php 添加到 url 而不更改它

htaccess 将旧域重定向到新域

url 更改器 htaccess 配置 [重复]