我正在使用 Vagrant 构建一个小型 Wordpress 开发虚拟机。当我选择永久链接(帖子名)时,不会加载文章中的页面。但是,当我选择标准链接(即页面 ​​id)时,一切都运行良好。我使用 PuPHPet 服务来构建虚拟机。

我的设置可以找到 这里

我正在使用WordPress 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

我的网站虚拟主机文件(/var/www/svisa/) 可以被找寻到 这里.

从我的主机上,我通过地址浏览到该站点: http://wpdev-vm/svisa/在哪里 wpdev-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 NoneAllowOverride All. 。因此你会得到以下内容:

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

之后,永久链接开始工作。

其他提示

网络上有足够的信息介绍如何获取与 Apache2 一起使用的 .htaccess 文件。但具体与 流浪汉, ,您需要确保在您的 Apache 中实现了所需的设置 客人 机器。这对于其他人来说可能是显而易见的,但我浪费了主机上不断变化的设置,并且无法弄清楚为什么它不起作用。

许可以下: CC-BY-SA归因
scroll top