我如何在WordPress中添加新的rewriterule?

时间:2016-09-04 19:29:32

标签: php wordpress .htaccess plugins

解决方案:我将此行放在.htaccess

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
-->RewriteRule ^event/([^/d]+)/([^_]*)/?$ index.php?pagename=event&eventid=$1 [QSA]<--
RewriteBase /teatro/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /teatro/index.php [L]
</IfModule>

最终网址是:www.events.com/teatro/event/2/ExampleEVENT(这不相关)/

这是我的第一个问题,对不起我的英语。 在开始我的问题之前,我已经看到了一些类似的问题,我找到了“解决方案”但在我的情况下不起作用。 我找到了这个链接:https://wordpress.stackexchange.com/questions/5413/need-help-with-add-rewrite-rule

确定。我的问题开始是因为我在Wordpress(EventBooking)中有一个插件,当我在BackEnd中创建一个新事件时,FrontEnd中默认的url是这样的:

www.events.com/teatro/event/?eventid=2

我想要一个友好的网址:

www.events.com/teatro/event/[name of event](whitout id)。

在.htaccess中我有这个:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On

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

在数据库中,事件字段的名称是id not nottid,但是在frontEnd中工作的原始网址是www.mydomain.com/teatro/event/?eventid=2

我认为问题出在这里。但我不知道。

我尝试在我的主题的functions.php中添加新的Rewriterule但不起作用。

由于

1 个答案:

答案 0 :(得分:0)

首先将永久链接结构更改为/%postname%/然后安装此插件“CUSTOM POST TYPE PERMALINKS”,一旦完成,您将能够在wordpress永久链接的页面下看到新的分类通过它您可以自定义自定义帖子类型永久链接的结构,将其更改为/%postname%/%postname%/,使其成为您所期待的。如果现有的现有分类法是%event-plugin%,则相应地进行。