29498


いつもお世話になっています。

CakePHPで運営されているサイトの一部にWordpressを導入したいを思っています。

CakePHPで  
<http://www.test.test/note/memo>  
このようなURLで動作しているページがあるとします。

[code]

    Router::connect('/note/:memo_id', array('controller' => 'front_note', 'action' => 'index'), array('pass' => array('memo_id')));
    
[/code]

ここに、  
<http://www.test.test/note/memo/blog>  
というページを作り、『一番最後に「blog」と付いている場合＝Wordpressページ』と判別させたいのです。

Wordpressは/webroot/wordpress/として設置済みです。  
Wordpress側では、カテゴリ「memo」を作成し、スラッグを設定、パーマリンクで「/%category%/blog」とする事で対応しています。

また、設定・一般で以下のように設定しました。  
Wordpressアドレス＝<http://www.test.test/wordpress>  
サイトアドレス＝<http://www.test.test/note>

次にwebrootのhtaccessを以下のように追記しました。

[code]

    RewriteCond %{REQUEST_URI} !^/note/(.*)/blog$　← 追記
    RewriteCond %{REQUEST_URI} !^/wordpress/(.*)/blog$　← 追記
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
    
[/code]

こうした時、  
<http://www.test.test/note/memo>  
は平常通りCakePHPで作成したページが表示されるのですが、  
<http://www.test.test/note/memo/blog>  
はNotFoundになります、  
<http://www.test.test/wordpress/memo/blog>  
は表示されます。

htaccess部分の書き方が悪いのだろうなと思い調べて試してみたのですが、巧く行きません。  
大変お手数お掛け致しますが、不足部分ご教授お願いできませんでしょうか？


CC BY-SA 3.0
2016-10-12T08:25:01.310
29495
2016-10-12T09:24:38.377
10463
question
cakephp wordpress .htaccess
Wordpress・CakePHP連動のRewriteRuleの記述方法


先に `/note/*/blog` をWordPressへルーティングすればよいでしょう。

[code]

    # /note/*/blog を WordPressへルーティング
    RewriteCond %{REQUEST_URI} ^/note/(.+)/blog(/|$)
    RewriteRule ^ wordpress/index.php [L]
    
    # /wordpressを除外してCakePHPへルーティング
    RewriteCond %{REQUEST_URI} !^/wordpress(/|$)
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
    
[/code]


CC BY-SA 3.0
2016-10-12T09:24:38.377
29498
2016-10-12T09:24:38.377
2668
29495
answer