私はVagrantを使って小さなWordpress開発VMを構築しています。パーマリンク(postname)を選択すると記事からのページがロードされません。しかし、標準のリンク(つまりページID)を選択すると、すべてうまくいきます。私はVMを構築するためにサービスPuPHPetを使いました。
私の設定はここで見つけることができます
私は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
私のサイトの仮想ホストファイル(/var/www/svisa/
)はここ にあります 。
私のホストコンピュータから、私はアドレスでサイトを閲覧します:http://wpdev-vm/svisa/
ここでwpdev-vm
はvmの名前です。
パーマリンクを機能させるのに欠けているものを誰かが知っていますか?
私は自分で問題を解決した。
デフォルトのApache設定では、/etc/Apache2/sites-enabled
の下にあり、mineは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に実装されていることを確認する必要がありますマシン。それは他のみんなにとって明らかかもしれませんが、私は私のホストの設定変更を無駄にし、なぜそれがうまくいかなかったのか理解できませんでした。