Vagrantと連携していないパーマリンク
-
09-12-2019 - |
質問
Vagrantを使用して、少しWordpress開発VMを構築しています。パーマリンク(postname)を選択すると、記事のページが読み込まれません。ただし、標準のリンク(つまりページid)を選択すると、すべて正常に機能します。私はVMを構築するためにサービスPuPHPetを使用しました。
私の設定を見つけることができます ここに
私はワードプレス3.9.1とApache2を使用しています 私はmod_rewriteが実行されることを有効にしました:
a2enmod rewrite
そして、私の。Wordpressからのhtaccessファイルは次のとおりです:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /svisa/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /svisa/index.php [L]
</IfModule>
# END WordPress
次の権限と所有権があります:
-rw-rw-rw- 1 vagrant www-data 248 May 30 14:52 .htaccess
サイト用の私のvirtualhostファイル(/var/www/svisa/
)を見つけることができます ここに.
私のホストコンピュータから、私はアドレスを介してサイトを参照します: http://wpdev-vm/svisa/
ここで wpdev-vm
vmの名前を指定します。
パーマリンクを機能させるために私が欠けていることを誰かが知っていますか?
解決
私は自分で問題を解決しました。
デフォルトのapache設定では、以下の /etc/apache2/sites-enabled
, 、私のものが呼ばれる場所 15-default.conf
これはドキュメントルートの下で宣言されました:
<Directory "/var/www">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
私は変更しなければならなかった AllowOverride None
に AllowOverride All
.したがって、次のようになります:
<Directory "/var/www">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
その後、パーマリンクが機能し始めました。
他のヒント
Apache2を使用して作業する.htaccessファイルを取得する方法については、Web上に十分な情報があります。しかし具体的には vagrant では、ゲストマシンのApacheで必要な設定が実装されていることを確認する必要があります。それは他のみんなに明白かもしれませんが、私は私のホストの設定の変化を浪費し、なぜそれが機能していなかったのかを理解できなかった。