2

wordpressとlaravelを並べて実行しようとしていて、小さな問題が発生しています。

これが私のコードです

# BEGIN Laravel
<IfModule mod_rewrite.c>
    Options -MultiViews
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^/?admin/?.*$ index.php [L]
</IfModule>
# END Laravel

# BEGIN WordPress
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /wp-index.php [L]
</IfModule>
# END WordPress

最後に「/」がない場合を除いて、WordPressページはホームページと管理ページ(laravel)を除いて機能します。

何か案は?

よろしく

4

2 に答える 2

0

ルーティングに問題があります。この質問はあなたの問題を解決するかもしれません: PHP Laravel Routing Issue

すべての提案、特に apache config に関する提案を試してください。

于 2013-02-27T00:57:50.907 に答える
0

「書き換え」とは、「このファイル名に一致するかのように URL を扱う」ことを意味します。ファイルを実行しても、元の URL が何であったかがわかるため、何を表示するかがわかります。

コード

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

指定された名前のファイルが存在しない場合、またはブラウザ内のディレクトリが存在しない場合は、以下の書き換えルールに進むことを意味します。

あなたが持っている最初のルールは、「/admin/ を含むものはすべて index.php に送信する」です - おそらく Laravel です。

2 番目のルールは、'wp-index.php に何でも送信する' です。おそらく WordPress です。

サーバーは通常、 / を index.php に転送するように設定されており、次の行が

RewriteRule ^index\.php$ - [L]

「index.phpを書き換えるな、やめろ」という意味なので、「ホームページ」はLaravelに。

その行をコメントアウト (先頭に # を追加) して、ホームページが WordPress に移動するかどうかを確認します。

また、/admin はルール (/admin/ に基づく) に一致しないため、Laravel に送信されません。/admin を機能させたい場合は、最初のルールから / を削除します。

于 2014-04-02T10:07:17.067 に答える