我可以编辑我的.htaccess来编写一些WordPress URL(自定义重写)吗?

时间:2014-02-10 12:25:05

标签: wordpress .htaccess url-rewriting slug

所以这就是问题所在:我们不喜欢WordPress不允许重复slug这一事实,即使对于子类别也意味着我们不能有这样的网址:

product-1/guides
product-1/articles
product-2/guides
product-2/articles

那太烦人了!我们正在考虑的一个解决方案就是设置这样的slu ::

product-1/product-1-guides
product-1/product-1-articles
product-2/product-2-guides
product-2/product-2-articles

但是在我们的htaccess中 - 我们可以使用它来获取这些网址并将它们重写为更漂亮的网址,这些网址从子文件夹中删除了产品名称吗?我们不介意硬编码,因为我们在网站上只有5-10个产品。

这样可以让WordPress的安装满足于独特的slu ,,但是在包含更好看的网址的框中搜索引擎优化。

我只需要一个有语法的手吗?

编辑1:

在查看WordPress Rewrite API后,我无法通过我认为非常简单的测试获得任何地方。我在我的functions.php中有以下代码,它在测试回显时运行,但没有重写?

add_action( 'init', 'productRewrites' );

function productRewrites() {
    add_rewrite_rule('^wordpress/james?','index.php?author_name=jwilson','top');
}

点击时没有任何反应:

mysite.com/wordpress/james

编辑2:

酷我知道我现在每次都要点击保存。我现在遇到的问题是,当我使用$ matches [1]时,以下情况不起作用 - 只有在我对author_name值进行硬编码时才会起作用(例如对于jwilson):

function productRewrites() {

    add_rewrite_rule(  
        "writer/([^/]+)/?",  
        "index.php?author_name=$matches[1]",  
        "top");  
}

当我使用$ matches [1]时,它只返回一切!显然,在网址中没有使用([^ /] +)?!

1 个答案:

答案 0 :(得分:0)

你必须重置永久链接结构

为了做到这一点,请转到设置 - > 固定链接并按保存更改按钮