2014-03-13 86 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

不知道你的意思。我不認爲在固定鏈接面板中的任何東西都可以幫助我解決這個問題。 –

相關問題