Wordpress - 静态页面的URL重写

时间:2014-01-01 17:46:39

标签: wordpress url-rewriting wordpress-theming

我想在WordPress v3.8网站上更改我的静态联系页面的URL。 以下是我在主题function.php文件中使用的代码:

function ebi_flush_rewrite_rules() {
    global $wp_rewrite;
    $wp_rewrite->flush_rules();
}

add_action( 'init', 'flush_rewrite_rules');
add_action('generate_rewrite_rules', 'additional_rewrite_rules');

function additional_rewrite_rules($wp_rewrite) {
    $new_rules = array(  
        'contact?' => 'index.php?page_id=22'  
    );  
    $wp_rewrite->rules = $new_rules + $wp_rewrite->rules;  
}

尝试访问www.mysite.com/contact时,我得到:

  

在此服务器上找不到请求的URL / baoene / contact。

知道为什么网址重写不正常吗?

1 个答案:

答案 0 :(得分:1)

我解决了我的问题。上面的代码示例是正确的。 问题是我在WordPress网站的根目录下没有.htaccess文件。因此,未使用URL mod_rewrite。

  1. 我在根
  2. 中添加了.htaccess个文件
  3. 我给了文件的apache写访问权,因此WordPress可以自动更新它
  4. 我修改了httpd.conf以允许.htaccess这样的指令:
  5.    Directory /var/www/html/mysite>
        AllowOverride All
        Options +FollowSymlinks
        /Directory> 
    

    我希望这会有所帮助