【发布时间】:2015-06-21 14:42:22
【问题描述】:
我在 wordpress 上创建一个页面并将 php 文件放在上面。现在我可以这样使用了。
saita.com/wp_page_name/?name=blqbl&name2=name2 is to long
我的问题是如何重写 .htaccess,因为我希望我的链接像
saita.com/wp_page_name/name1/name 2 is to long
我忘记了...我的 php 文件在主根目录下..
我试图放入我的 .htaccess
RewriteRule ^(.+)/([a-zA-Z0-9-_]+)?$ upcoming.php?league=$1&division=$2
但它不起作用..
编辑:如果我做对了,我应该更改我的 .htaccess 还是应该在 functions.php 中添加一些新代码?
EDIT2:我添加了这段代码
add_action('init', 'custom_rewrite_rule', 10, 0);
function custom_rewrite_rule() {
add_rewrite_rule('^machove/([^/]*)/([^/]*)/?','index.php??pagename=machove&league=$matches[1]&division=$matches[2]','top');
}
add_filter('query_vars', 'foo_my_query_vars');
function foo_my_query_vars($vars){
$vars[] = 'league';
$vars[] = 'division';
return $vars;
}
在我的functions.php末尾,然后我重新保存我的永久链接,现在当我打开 saita.com/machove/name1/name2 时,我的页面信息来自 saita.com/machove/ 但网址是 saita.com /machove/name1/name2
【问题讨论】:
-
另见:Reference: mod_rewrite, URL rewriting and "pretty links" explained - 您的问题缺少具体的目录设置、文件夹关系、
.htaccess位置。无论如何,平淡无奇的.+占位符非常不适合作为第一个捕获组。
标签: php wordpress .htaccess rewrite