2012-02-21 3 views
-1

私はいくつかのユーザー生成コンテンツを持つデータベーステーブルを持っています。各content-elementは、/ my-url/project/the-projects-nameを介して利用できます。項目は、ワードプレスの投稿はありません。このようなURLが呼び出されたときにリダイレクトするインデックススクリプトを作成しました。スクリプトはprojects-nameを抽出し、変数に格納し、ページテンプレートをインクルードします。 私のページとプロジェクトデータはうまく表示されますが、WordPressは要求されたウェブサイトの404状態をスローし、タイトルを「見つからない」に設定します。どのように私は出力をワードプレスを偽造できますか?私のインデックスprojects.phpスクリプトにリダイレクトワードプレスの特別なURLのための独自の書き換えルール

私のhtaccessファイル:

RewriteCond %{REQUEST_URI} ^/my-url/project/(.*) 
RewriteRule . /index-project.php [L] 

私のインデックス-project.php:

ob_start(); 

define('WP_USE_THEMES', true); 

$path = explode('/', $_SERVER['REQUEST_URI']); 

while(empty($path[0])) 
    array_shift($path); 

while(empty($path[count($path)-1])) 
    array_pop ($path); 

if(count($path) >= 3 && !empty($path[2])) { 

$postFound = false;        // use this param to define if requested post was found in DB 
$post_name = $path[2];       // get the post name from url 

$args = parse_url($post_name); 

$slug = $args['path']; // extract the post slug from post name 

if(!empty($slug)) { 
    $wp_did_header = true; 

    $_GET['page_id'] = SOME_ID_OF_MY_WP_PAGE; 
    $_GET['main_page'] = 'page-project'; 
    require_once(dirname(__FILE__) . '/wp-load.php'); 
    wp(); 

    include('./wp-content/themes/my-theme/page-project.php'); 
    } 
} 

答えて

0
RewriteRule ^/my-url/project/(.*) /index-project.php [L] 

RewriteRule ^/index-project.php - [L] 

とあなたがについてそれを置くことを確認してくださいあなたのhtaccessのWPルール

+0

Wordpressのは、まだ404をスローページが正しくロードされ、コンテンツが私のインデックスproject.phpが、WPに「リダイレクト」されますまだ404ヘッダーをブラウザに返します。 – Denis

+0

URL-request.phpスクリプトに追加して、wordpressにURLを要求するページ/投稿を検索しないよう指示するものがあると思います – Denis

0

Wordpressはまだ404をスローします。ページが正しくロードされ、コンテンツが「私にリダイレクトされました」インデックスproject.phpが、WPはまだブラウザに404-ヘッダを返します。

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^my-url/project/(.*) /index-project.php [L] 
RewriteRule ^/index-project.php - [L] 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
関連する問題