web-dev-qa-db-ja.com

パーマリンクはVagrantで動作しません

私は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の名前です。

パーマリンクを機能させるのに欠けているものを誰かが知っていますか?

1
Nazeem

私は自分で問題を解決した。

デフォルトの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 NoneAllowOverride Allに変更する必要がありました。したがって、次のようになります。

   <Directory "/var/www">
     Options Indexes FollowSymLinks MultiViews
     AllowOverride All
     Order allow,deny
     Allow from all
   </Directory>

その後、パーマリンクが機能し始めました。

0
Nazeem

Apache2で動作する.htaccessファイルを取得する方法については、Webに十分な情報があります。しかし、特にVagrantでは、必要な設定がゲストのApacheに実装されていることを確認する必要がありますマシン。それは他のみんなにとって明らかかもしれませんが、私は私のホストの設定変更を無駄にし、なぜそれがうまくいかなかったのか理解できませんでした。

0
anthonygore