自定义永久链接
我注册一个新的自定义文章类型有:自定义永久链接
register_post_type('abcd_film',
array(
'labels' => array(
'name' => __('Films'),
'singular_name' => __('Film')
),
'description' => 'Manage the Films',
'supports' => array('title', 'editor', 'custom-fields',),
'public' => true,
'has_archive' => true,
'rewrite' => array('slug' => 'films'),
)
);
我的WordPress位于(虚拟链路):
www.example.com/folder/wordpress/
我的永久链接设置为( “后名” 选项):
www.example.com/folder/wordpress/%postname%/
不过,我创建了自定义后键入“电影”与后名称为“苹果”下一个新的自定义后,该链接显示404未找到文件。该.htaccess
文件是由WordPress &由WordPress的书面当前内容写为:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /folder/wordpress/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /folder/wordpress/index.php [L]
</IfModule>
# END WordPress
我是双phpinfo()
选中,mod_rewrite()
模块处于“加载的模块”部分。另外,我尝试刷新WordPress Admin > General > Permalink > Save Changes
中的固定链接设置。
404未找到仍然存在。我还可以做些什么?
试过如下:
添加
publicly_queryable
与值true
到选项阵列(它不是必需的,因为public
已经设置为true
和publicly_queryable
默认值是等于public
的值)add
with_front
with valuetrue
torewrite
sub-array(* this does not required,作为with_front
默认值是true
)后
register_post_type()
flush_rewrite_rules(false);
添加所有上述的尝试没有任何效果。缓存已被禁用&已刷新。
参考问题:
该问题不是由于WordPress配置或PHP配置引起的。的.htaccess
不工作的原因是:在我的Apache虚拟主机的设置,它被配置为忽略.htaccess
:
AllowOverride None
要禁用此锁,更改虚拟主机文件中的值(在sites-enabled
文件夹):
AllowOverride All
然后重启的Apache。
如果您使用的是Chrome测试这个你要确保你的浏览器缓存被清空。使用Chrome菜单清空缓存。这让我不止一次地咬伤了我。我清除缓存,退出Chrome,重新访问该网站。
我也有保存更改永久链接而不是冲洗永久链接表的问题。更改为默认的帖子ID帖子类型,而不是回到您的正常帖子类型。
我与我的客户群碰到的另一个问题是增加了固定链接规则的WordPress主题。如果处理不当,可能导致自定义帖子类型发生故障。尝试一个默认的WordPress主题,如二十十三。
如果一切都失败开始与干净的WordPress 3.6安装测试网站,添加您的自定义帖子类型和没有别的(没有主题更改或额外的插件)。这将消除所有其他变量,并让您专注于服务器和系统规则。但是,似乎你已经排除了这一点。
祝你好运&记得分享你的答案,如果你自己找到它。
你试过把'flush_rewrite_rules(false); '刚才?另外,如果你改变永久链接结构会发生什么?你有''public_queryable'=> true,' –
添加''public_queryable'=> true'&'flush_rewrite_rules(false);'&清除缓存,404仍未找到... – Raptor
好吧..最后一件事我现在可以想到的是尝试''rewrite'=> array(“slug”=>“films”,“with_front”=> true),'与其他人合并。大约两周前我有同样的问题,但我不记得罪魁祸首是在哪里。并请将链接结构更改的结果发布到默认页面。 –