XenForo を Phalcon アプリケーションに追加しようとしています。プロジェクトは次のように構成されています。
www/
phalcon/
app/
controllers/
AccountController.php
views/
account
login.phtml
public/
forums/ <-- XenForo installation
.htaccess
index.php
.htaccess
のファイルはwww/phalcon/.htaccess
次のようになります。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
</IfModule>
のファイルはwww/phalcon/public/.htaccess
次のようになります。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L]
</IfModule>
www/phalcon/app/views/account/login
次の場所にある XenForo ログイン スクリプトに投稿するフォームを含むビューを追加しましたhttp://localhost/phalcon/forums/login
。
<?php echo $this->tag->form('forums/login'); ?>
<p>
<label for="name-email">Name or email:</label>
<?php echo $this->tag->textField('login'); ?>
</p>
<p>
<label for="password">Password</label>
<?php echo $this->tag->passwordField('password'); ?>
</p>
<p>
<?php echo $this->tag->submitButton('Login'); ?>
</p>
<?php echo $this->tag->endForm(); ?>
ForumsController がないため、フォームを投稿するとエラーが発生しました。
PhalconException: ForumsController handler class cannot be loaded
だから私はこれにファイルを変更しましwww/phalcon/public/.htaccess
た:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(forums)($|/) - [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L]
</IfModule>
これにより、Phalcon は で始まるすべてのルートを無視しforums
ます。ただし、フォームを投稿すると 404 が表示されるようになりました。
The requested URL /phalcon/public/forums/login was not found on this server.
この時点で XenForo がルーティングを引き継ぐのではないかと思っていましたが、そうではないようです。Phalcon と XenForo がうまく機能するにはどうすればよいですか?