2014-03-13 85 views
0

如何重写Wordpress URL,以便如果我在www.domain.com/A上托管了一个页面A,则Wordpress还会显示www.domain.com/A/ABC网页www.www.domain.com/A/ABC。 domain.com/A/ABCDEF等?我明白这通常不是一个好主意。我有一个非常具体的用例。我的测试服务器在运行Windows Server 2003的同时运行Ubuntu,两个站点都在Apache上。Wordpress页面重写

我已经试过什么:

  • 修改的.htaccess直接:

    重写规则一/?.* A/

(我试图调试为什么没”通过在我的Apache服务器配置中打开RewriteLog,我发现所有的重写最终都会在Wordpress的index.php中,所以我认为使用Wordpress的重写工具可能更合适。)

  • 使用WP_Rewrite(在functions.php的):

    功能A_rewrite($ wp_rewrite){$ wp_rewrite->规则[ “A /?.*”] = “A /”; return $ wp_rewrite-> rules; } add_filter('generate_rewrite_rules','A_rewrite');

这两种方法都未能改写URL,即要求仍去/ A/ABCD,产生了404

将不胜于我做错了什么与这两种方法的指导欣赏或者更好的解决方案。

回答

0

由于缺乏更好的解决方案,对我来说,我结束了做以下在我的functions.php:

$original_request = $_SERVER['REQUEST_URI']; 
$new_request = preg_replace("/\/A\/?.*\?id\=([A-Za-z0-9]+)$/", "/A/?id=$1", $original_request); 

if ($original_request !== $new_request) { 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, "http://" . $_SERVER['HTTP_HOST'] . $new_request); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    $ret = curl_exec($ch); 
    echo $ret; 
    die(); 
} 
0

在wordpress中不使用任何代码。去设置和固定链接点击更多的选项,你有你选择cna选择任何选项或选择其他选项和writed代码你想要显示检查http://flickspoint.com

+0

不知道你的意思。我不认为在固定链接面板中的任何东西都可以帮助我解决这个问题。 –

相关问题