0
我在與結合mod_rewrite的一個小問題與WordPress :(WordPress的mod_rewrite的配頁+送參數
這是我的htaccess:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
,所以我得到像「WWW鏈接。 mysite.de/articlename「
現在我想創建一個頁面,在那裏我可以看到前端的用戶信息 所以我想要一個像」www.mysite.de/users/profile/admin「這樣的鏈接改寫爲「www.mysite.de/users/?user=admin」
我搜索了5個多小時了,但沒得到它的工作:(
這就是我想
RewriteEngine On
RewriteBase/
RewriteRule ^users/profile/(.)*$ users/?user=$1 [L]
# RewriteRule ^users/profile/(.)*$ index.php/pagename=users&user=$1 [L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
BTW:/用戶是一個網站,我通過WordPress的後端之前創建的。如果我使用頁面名=用戶,我只是重定向到www.mysite.de/users :(
任何建議,感謝您的幫助:)
編輯:順便說一句我試過wp_directions從WordPress的它的自我,以及。沒有成功 我已將此添加的functions.php
add_filter('rewrite_rules_array','my_insert_rewrite_rules');
add_filter('query_vars','my_insert_query_vars');
add_action('wp_loaded','my_flush_rules');
// flush_rules() if our rules are not yet included
function my_flush_rules(){
$rules = get_option('rewrite_rules');
if (! isset($rules['(users)/(\d*)$'])) {
global $wp_rewrite;
$wp_rewrite->flush_rules();
}
}
// Adding a new rule
function my_insert_rewrite_rules($rules)
{
$newrules = array();
$newrules['(users)/(\d*)$'] = 'index.php?pagename=$matches[1]&id=$matches[2]';
return $newrules + $rules;
}
// Adding the id var so that WP recognizes it
function my_insert_query_vars($vars)
{
array_push($vars, 'id');
return $vars;
}
哦,真實的故事。當我厭倦了一些東西時,發生這種事。但這不是解決方案:( – KddC 2012-07-18 21:52:11
如果這不是解決方案,爲什麼它被標記爲正確答案? – Lee 2014-12-04 14:55:08