问题:
我希望能够在wordpress中修改插件的url查询字符串参数,并获取原始网址;
/wp-admin/admin.php?page=espresso_events
并且能够通过;
访问它/wp-admin/admin.php?page=events
据我所知,我的.htaccess文件中的所有内容都是正确的,但由于某种原因它仍然无法正常工作。然而规则看起来很好,所以当我尝试通过新网址访问页面时,我无法理解为什么wordpress会给我一个错误。
这是我的.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]
使用this在线工具,它为我提供了正确的输出网址,但是当我在wordpress中直接尝试输入网址时,我每次都会得到相同的错误;
您没有足够的权限来访问此页面。
修改
这绝对是一个wordpress问题。当我手动更新我的.htaccess文件时,一切正常,但是,当使用mod_rewrite_rules
过滤器时,wordpress似乎没有将规则写入我的.htaccess文件或执行它们。我对.htaccess文件拥有完全写入权限。
答案 0 :(得分:0)
此问题现已解决。我没有通过我的插件正确刷新重写规则,所以我的重写规则甚至没有被添加到.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..