我正在使用打开永久链接的 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/
现在,第一个 URL 404s。
我尝试在该行之后将此规则添加到我的 .htaccess 中RewriteBase /
:
RewriteRule ^about/video-center/(.+)$ /about/video-center/ [NC,L]
什么都不做(我仍然得到 404)。如果我将 a 添加R
到标志中,那么它会重定向并且 /about/video-center/ 加载得很好,这使我相信该规则正在匹配并适当地重写。
我的理论是重写工作正常......但是当 WP 的重写规则生效时,我拥有的任何自定义重写规则都会被覆盖——即使它在内部重写,WP 仍在尝试处理地址栏中的 URL。
我不知道如何解决这个问题并使我的自定义重写与 Wordpress 一起工作。
现在,我意识到单独从 .htaccess 可能无法实现我想要的结果,并且可能需要一个插件或我的 Theme 的 functions.php 中的一些自定义代码来解决这个问题。我愿意接受任何解决方案来完成这项工作。