2

私は 2 つの別々のサイトを持っています。1 つは CI メンバーシップ管理システムで、もう 1 つは WP パブリックおよびメンバー エリア サイトです。それらは異なるドメインとサーバーでホストされています。

私たちの要件は、CI を WP から保護しながら、CI から WP サイトのユーザーをプログラムで追加/編集することです。これを実現するために、CI と同じインストールで WP サイトのコピーを作成しましたが、それをライブ WP データベースに向け、このコピーへのパブリック アクセスをすべてブロックしました。このようにして、WP 機能をローカルで使用できるため、CI から WP への読み取り/書き込みアクセスを許可し、CI システムを安全に保ち、WP を介した攻撃のリスクを最小限に抑えることができます。

CI index.php に追加しました:require_once ./wordpress/wp-load.php; これはうまく機能します ( site_url関数を修正した後)、ユーザーの追加と編集を行っています YAY! しかし...いくつかのCI機能へのAJAXリクエスト:- 404/members/getMemberJSONを返しています(WPをロードしていない場合は正常に機能します。WPサイトページに既に存在するという事実によると思います./members/%username%

問題は、WP が CI ルーティングをオーバーライドするのを防ぐ方法です。あなたが方法を知っていれば、これは簡単だと確信しています.

4

2 に答える 2

0

いくつかのオプションがあると思います:

1) WP ページと競合しないように、コントローラーまたはコントローラー メソッドの名前を変更する必要があります。

また

2) .htaccess を構成して、すべてのファイル名またはフォルダーの要求を無視し、それらを CI 互換のクエリとして書き直します。

オーダーの何か

RewriteRule ^members/(.*?)$ /members/getMemberJSON/$1 [R]

注:これは完全にテストされていませんが、単なる例です。

于 2012-10-02T22:56:18.440 に答える