URL REWRITE解决方案

URL REWRITE解决方案

URL REWRITE

求一个URL地址转换,想把 localhost/wordpress/site/news?title=apple&num=1 

转换成 localhost/wordpress/site/news/appre/1/  

下面一段我的代码不起作用。求助,谢谢。

  # BEGIN WordPress

  <IfModule mod_rewrite.c>

  RewriteEngine On

  RewriteBase /wordpress

  RewriteCond %{REQUEST_FILENAME} !-f

  RewriteCond %{REQUEST_FILENAME} !-d

  RewriteRule . /wordpress/index.php [L]

  RewriteRule ^site/news/([^/]+)/([0-9]+)/?$ site/news?title=$2&num=$3

  </IfModule>

  # END WordPress



wordpress 有自己的URL REWRITE规则。参见:

http://codex.wordpress.org/Rewrite_API/add_rewrite_rule

可以在主题function.php里添加:

PHP code

function add_my_rule() {    
    global $wp; //global 参数
    $wp->add_query_var('title');   //添加 query 标签 
    $wp->add_query_var('num');    //添加 query 标签 
    add_rewrite_rule('site/news/(.+?)/([0-9]+)','index.php?pagename=site/news&title=$matches[2]&num=$matches[3]','top');
    global $wp_rewrite;
    $wp_rewrite->flush_rules();// 可以用flush_rules();刷新重命名规则,也可以通过后台的重设pemerlink来使新规则生效。重新生成.htaccess文件(注意重刷前务必要备份)
}
add_action('init', 'add_my_rule');


                        
  
  
                    
URL REWRITE解决方案

相关文章:

你感兴趣的文章:

标签云: