我正在使用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中的一些自定义代码来解决此问题。我愿意接受任何解决方案。
答案 0 :(得分:0)
This看起来很有希望。 (来自WP的文档)查看那里的第一个例子 - 您可以跳过添加查询var,因为您正在寻找的重写看起来更简单。
然而,ID / url-slug会发生什么?那些信息不再需要了吗?
答案 1 :(得分:0)
花了太多时间试图为此找到解决方案,我只想使用哈希:
http://example.com/about/video-center/#youtubeID/title-slug/