我正在关注一个站点,其中有人将/%category%/%postname%配置为永久链接结构。
这样做的一个副作用似乎是,类别存档将同时出现在通常的/category/foo和/foo中。
这样做的一个缺点是它会创建一个重复的页面。另一个问题是,第二个页面上的任何“旧帖子”链接都不会起作用,因为它将指向/foo/page/2,返回404。
有没有办法在不更改永久链接结构的情况下禁用页面的/foo版本?
我正在关注一个站点,其中有人将/%category%/%postname%配置为永久链接结构。
这样做的一个副作用似乎是,类别存档将同时出现在通常的/category/foo和/foo中。
这样做的一个缺点是它会创建一个重复的页面。另一个问题是,第二个页面上的任何“旧帖子”链接都不会起作用,因为它将指向/foo/page/2,返回404。
有没有办法在不更改永久链接结构的情况下禁用页面的/foo版本?
我想可能有一种方法可以从规则数组中删除有问题的重写规则on generate_rewrite_rules
, 这将导致我不确定404或WordPress是否会尝试重定向到正确的URI。
或者,我想出了这段代码来检查没有category
并将其重定向到具有category
. 这有点粗糙,但可能对你有用。
function wpa_category_requests( $request ){
if ( ! is_admin()
&& isset( $request->query_vars[\'category_name\'] )
&& ! isset( $request->query_vars[\'name\'] ) ){
if ( false === strpos( $request->request, \'category\' ) ){
wp_redirect(
home_url( \'/category/\' . $request->query_vars[\'category_name\'] . \'/\' ),
301
);
}
}
}
add_action( \'parse_request\', \'wpa_category_requests\' );
我知道,问了无数次,回答了无数次。我一生都找不到我的错误。正在尝试将永久链接设置为使用post name,/%postname%/尝试访问主页以外的任何其他地方都会产生404错误。默认的永久链接设置工作正常。任何帮助都将不胜感激。.htaccess在web根目录中 # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\\.ph