【发布时间】:2019-03-17 04:45:15
【问题描述】:
我在这里迫切需要一些帮助。关于这个问题,我已经把头发拉了一个多星期了。我知道它应该非常简单,但由于某种原因它不起作用......
我有一个搜索查询,出于美学和 seo 的原因,我想让它看起来很漂亮。我希望 /rentals 在内部重定向到(丑陋的)查询 /?ct_ct_status=for-rent&search-listings=true。在这里澄清一下,我希望访问者不要注意到当他们访问 /rentals 时,他们实际上被重定向到查询。
无论如何,我已经尝试了以下方法:
RewriteEngine On
RewriteBase /
RewriteRule ^rentals/?$ https://www.example.com/?ct_ct_status=for-rent&search-listings=true [L]
现在这里的 example.com 显然不是实际的 url。我已经尝试了上述方法以及它的许多细微变化,包括:只有查询而不是完整的 url;不同的旗帜;有和没有 RewriteEngine On;有和没有 RewriteBase;尝试不重定向到查询,而是重定向到常规页面;可能还有一些我忘记的其他事情。
现在还值得一提的是,这个网站是在 Wordpress 上运行的。上面的 rewriterule 放在 .htaccess 中 Wordpress 部分的上方,但这也不起作用。
如果您希望我提供更多信息,请告诉我!
感谢您的帮助!
编辑: 要回答@msg 问题: 我应该在我最初的问题中提到这一点。上面提到的 RewriteRule 会重定向到正确的页面。但是,它是外部重写。换句话说,当访问 /rentals 时,它会重定向到 https://www.example.com/?ct_ct_status=for-rent&search-listings=true,但它会将重定向显示为 url,因此不会将 /rentals 显示为 url。目标是使其成为内部重写,以便当有人访问 /rentals 时,它实际上将 /rentals 显示为 url,而不是重定向。
我还尝试了 [R] 标志,Apache 的网站说这是用于内部重写的正确标志:link。但这仍然会导致外部重写。
Wordpress 不处理查询。处理主页的 PHP 文件检查是否存在搜索查询,如果存在,则显示处理搜索结果的 PHP 文件的输出。
回答@shane 的问题: 我对上述@msg 问题之一的回答也可能有助于回答您的问题。但进一步扩展,租金实际上不是自定义帖子类型。它是一种名为“列表”的自定义帖子类型的分类。
function add_custom_rewrite_rule() {
add_rewrite_rule('^rentals/?$', 'https://www.redcapper.com/?ct_ct_status=for-rent&search-listings=true', 'top');
}
add_action('init', 'add_custom_rewrite_rule', 10, 0);
我已尝试使用上述方法连接到 Wordpress 的重写 API,但它不起作用...它给了我一个 404 错误...
【问题讨论】:
-
问题。有什么问题?什么都不做?网址有变化吗? 404 ?查询是由 wordpress 自己处理的?
-
Marnix.hoh 你能提供更多关于如何创建和搜索自定义帖子类型的信息吗?我会根据您的回复修改我的回答。
-
非常感谢您的帮助!这对我来说真的意味着世界! @shane 我已经对我的问题进行了编辑,我在其中回答了您的问题。如果您还希望我提供更多信息,请再次告诉我。
-
@msg 我还在我的编辑中添加了对您问题的答案。非常感谢你的帮助!!如果您希望我进一步扩展一些内容,请告诉我
-
@Marnix.hoh 我已经更新了我的答案 - 试一试,让我知道
标签: wordpress .htaccess mod-rewrite