使用自定义URL结构后出现404错误

时间:2013-09-20 06:08:48

标签: wordpress .htaccess http-status-code-404 permalinks

我在 / en 文件夹上安装了wordpress,并在 / 上设置了siteurl。我将其转换为Multisite网站。它正在 topcanadavisa.com 上运行。

我在function.php上使用此代码来定义新的post_type(文章):

function codex_custom_init() { 
register_taxonomy('articles-category',array(), array(
    'has-archives' => true,
    'hierarchical' => true, 
    'show_ui' => true,  
    'query_var' => true, 
    'rewrite' => array( 'slug' => 'archive' ),
    ));

register_post_type('articles', array(
    'capability_type' => 'post',    
    'hierarchical' => false,
    'public' => true,               
    'show_ui' => true,                  
    'query_var' => true,        
    'publicly_queryable' => true,   
    'exclude_from_search' => false,
    'supports' => array( 'title', 'editor', 'excerpt', 'trackbacks', 'thumbnail' , 'author', 'custom-fields' ),
    'rewrite' => array( 'slug' => 'articles' ),
    'has-archives' => true,
    'taxonomies' => array( 'articles-category' ,'post_tag') 
));
//flush_rewrite_rules();
} add_action( 'init', 'codex_custom_init' );

和wordpress在.htaccess上设置这些:

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]

    # add a trailing slash to /wp-admin
    RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^ - [L]
    RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) en/$2 [L]
    RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ en/$2 [L]
    RewriteRule . index.php [L]

发生的事情是我无法设置自定义永久链接。除“页面”类型之外的所有帖子类型都会返回404错误。我该怎么办?

1 个答案:

答案 0 :(得分:0)

我有好几次,特别是在wordpress没有找到自定义帖子类型的情况下。

我必须做的是转到永久链接设置并更改它们,然后再改回我想要的。这会刷新重写规则,之后就可以了。

我必须手动执行此操作并多次出现问题,每次都将此作为解决方案。