wordpress中的自定义.htaccess重写规则未执行

wordpress中的自定义.htaccess重写规则未执行,wordpress,apache,.htaccess,Wordpress,Apache,.htaccess,问题: 我希望能够修改wordpress中插件的url查询字符串参数,并获取原始url /wp admin/admin.php?page=espresso_事件 并且能够通过以下方式访问它: /wp admin/admin.php?页面=事件 据我所知,我的.htaccess文件中的所有内容都是正确的,但由于某些原因,它仍然不起作用。但是规则看起来很好,所以我无法理解为什么wordpress在我尝试通过新的url访问页面时抛出错误 这是我的.htaccess文件 RewriteEngine On

问题:

我希望能够修改wordpress中插件的url查询字符串参数,并获取原始url

/wp admin/admin.php?page=espresso_事件

并且能够通过以下方式访问它:

/wp admin/admin.php?页面=事件

据我所知,我的.htaccess文件中的所有内容都是正确的,但由于某些原因,它仍然不起作用。但是规则看起来很好,所以我无法理解为什么wordpress在我尝试通过新的url访问页面时抛出错误

这是我的.htaccess文件

RewriteEngine On
RewriteBase /event_espresso/
RewriteRule ^index\.php$ - [L]
RewriteCond %{QUERY_STRING} ^(.*)events(.*)$
RewriteRule . wp-admin/admin.php?%1espresso_events%2 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /event_espresso/index.php [L]
使用在线工具,它会给我正确的输出url,但当我直接在wordpress中尝试输入url时,每次都会得到相同的错误

您没有足够的权限访问此页面

编辑:


这绝对是wordpress的问题。当我手动更新.htaccess文件时,一切正常,但是,当使用
mod\u rewrite\u rules
过滤器时,wordpress似乎没有将规则写入或执行.htaccess文件。我对.htaccess文件拥有完全写入权限。

此问题现已解决。我没有通过插件正确刷新重写规则,因此我的重写规则甚至没有添加到.htaccess文件中

function plugin_activate()
{
    //make sure rewrite rules are flushed so the htaccess is written to
    global $wp_rewrite;
    $wp_rewrite->flush_rules();
}

register_activation_hook(__FILE__, 'plugin_activate');
//actions..

-查看故障排除,特别是AllowOverride设置为什么?()@AndreasDuering我不认为这是问题所在,因为它被设置为“AllowOverride All”。那个错误消息是来自Apache还是Wordpress?@PanamaJack它来自Wordpress。我确实发布了这个问题的答案,但它似乎已经消失了。我解决了这个问题。我没有正确刷新访问规则,因此Wordpress没有更新我的.htaccess文件。