Snow Leopard上404、.htaccess、固定链接和WordPress本地自定义帖子的问题

时间:2012-03-09 作者:redconservatory

我有一个自定义的“关于”帖子:

function about_register() {
        $labels = array(
            \'name\' => _x(\'About Page\', \'post type general name\'),
            \'singular_name\' => _x(\'About Item\', \'post type singular name\'),
            \'add_new\' => _x(\'Add New\', \'About Item\'),
            \'add_new_item\' => __(\'Add New About Item\'),
            \'edit_item\' => __(\'Edit About Item\'),
            \'new_item\' => __(\'New About Item\'),
            \'view_item\' => __(\'View About Item\'),
            \'search_items\' => __(\'Search Team\'),
            \'not_found\' =>  __(\'Nothing found\'),
            \'not_found_in_trash\' => __(\'Nothing found in Trash\'),
            \'parent_item_colon\' => \'\'
        );

        $args = array(
            \'labels\' => $labels,
            \'public\' => true,
            \'publicly_queryable\' => true,
            \'show_ui\' => true,
            \'query_var\' => true,
            \'rewrite\' => true,
            \'capability_type\' => \'post\',
            \'hierarchical\' => false,
            \'menu_position\' => null,
            \'has_archive\' => \'about\',
            \'supports\' => array(\'title\',\'thumbnail\')
        );

        register_post_type( \'custom_about_post\' , $args );
    }
我创建了一个名为archive about的页面。php并将我的Wordpress循环放在那里,然后调出我的自定义元信息。

然而,当我去mysite的时候。我收到一个404错误。

搜索internet-

我转到permalinks页面,试图通过点击save刷新重写规则。

我被指示将以下内容放入我的网站。htaccess文件:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /mysite.com/
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /iqfood/index.php [L]
</IfModule>

# END WordPress
然而,当我这样做的时候,我的整个网站现在是403!如果我去掉这个并留下我的。htaccess文件空白我的网站返回。。。但是链接

localhost/mysite/about/ 
还是不行。

为了使归档工作正常,我是否使用永久链接中的默认设置或其他设置?

要在Mac OSX(雪豹)中本地运行Wordpress,我应该将重写规则设置为什么?

上面贴的代码有什么问题吗?

3 个回复
SO网友:fuxia

您命名了自定义帖子类型\'custom_about_post\'\'about\'. 将存档模板重命名为archive-custom_about_post.php 或者更好:重命名帖子类型。

经验法则是:避免在帖子类型名称中使用下划线。存在/曾经存在一些问题,尤其是在模板方面。

为什么你只需要为大约个页面定制一个帖子类型?你的目标是什么?

SO网友:redconservatory

必须将永久链接设置为默认值以外的其他值。

可能是因为我在Mac电脑上,所以我必须在我的电脑中设置以下内容。htaccess文件以消除403错误:

选项+FollowSymLinks

因此,整个重写文件是:

Options +FollowSymLinks
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /mysite/
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /mysite/index.php [L]
</IfModule>

SO网友:soulseekah

register_post_type 显示rewrite 在您的案例中,参数使用不正确。它可能必须是一个数组。这个slug 键可以根据需要将slug设置为大约。

function about_register() {
    $args = array(
        ...
        \'has_archive\' => true,
        \'rewrite\' => array( \'slug\' => \'about\' ),
        \'supports\' => array(\'title\',\'thumbnail\' )
    );

    register_post_type( \'custom_about_post\' , $args );
}
否则,根据:

。。。true并将post类型用作slug。。。

。。。您的slug正在被覆盖。

结束