集成Wordpress和自定义URL重写

时间:2012-07-10 17:22:08

标签: wordpress .htaccess mod-rewrite url-rewriting

我正在使用Wordpress 3.4.1并启用永久链接。在我的.htaccess中,我有以下代码:

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

我还想设置一个自定义重写(不是重定向),以便当用户访问此URL时:

http://example.com/about/video-center/youtubeID/title-slug/

它被内部重写为:

http://example.com/about/video-center/

现在,第一个网址是404s。


我尝试在RewriteBase /行之后将此规则添加到我的.htaccess:

RewriteRule ^about/video-center/(.+)$ /about/video-center/ [NC,L]

哪个什么都没做(我仍然得到404)。如果我在标志中添加R,那么它会重定向和/ about / video-center / loads就好了,这让我相信规则是匹配和重写的。


我的理论是重写工作正常......但是当WP的重写规则生效时,我所覆盖的任何自定义重写规则都被覆盖 - 即使它在内部重写,WP仍在尝试处理其中的URL地址栏。

我不知道如何绕过这个并使我的自定义重写与Wordpress一起使用。

现在,我意识到可能无法单独从.htaccess获得我想要的结果,并且可能需要插件或我的Theme的functions.php中的一些自定义代码来解决此问题。我愿意接受任何解决方案。

2 个答案:

答案 0 :(得分:0)

This看起来很有希望。 (来自WP的文档)查看那里的第一个例子 - 您可以跳过添加查询var,因为您正在寻找的重写看起来更简单。

然而,ID / url-slug会发生什么?那些信息不再需要了吗?

答案 1 :(得分:0)

花了太多时间试图为此找到解决方案,我只想使用哈希:

http://example.com/about/video-center/#youtubeID/title-slug/