2012-09-01 122 views
7

我想用wordpress的add_rewrite_rule函數添加自定義規則,但它們不起作用。奇怪的是,當我使用Monkeyman Rewrite Analyzer插件檢查它們時,規則被添加並匹配我的URL。Wordpress add_rewrite_rule頁面重定向不正確

當我嘗試訪問該頁面時,它重定向到不正確的位置。

這裏是我的代碼:

add_rewrite_tag('%cc%','([a-zA-Z]+)'); 
add_rewrite_tag('%id%','([0-9]+)'); 

add_rewrite_rule('job-details/([0-9]+)$', 'index.php?pagename=jobs&cc=show&id=$matches[1]', 'top'); 

global $wp_rewrite; 
$wp_rewrite->flush_rules(); 

至於我的網址,如果我嘗試訪問的URL site.com/job-details/1,它重定向我/就業/,這是頁面與我的插件相關聯。

這裏是我的.htaccess文件

RewriteEngine On 
RewriteBase/

RewriteRule ^index\.php$ - [L] 

# uploaded files 
RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L] 

RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule^- [L] 
RewriteRule . index.php [L] 
+3

添加您的決議作爲您自己的帖子的答案(你可以做到這一點)。 – ChelseaStats

+0

高興你得到它的工作...提交你的答案,並將其配對.. –

+1

請發佈您的編輯爲答案。 – BoltClock

回答

2

原來,我的劇本是使用自定義功能搶到通過$ _REQUEST對象,它正在由WordPress無效的GET參數。

我用下面的代碼來代替它。

global $wp_query; 
$wp_query->query_vars['cc'];