php - 如何修复固定链接不适用于 Vagrant 和 Wordpress?

标签 php wordpress apache .htaccess mod-rewrite

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

我的设置可以找到here

我正在使用 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/) 可以找到 here .

从我的主机上,我通过地址浏览到该站点: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 None 更改为 AllowOverride All。因此,您将得到以下内容:

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

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

关于php - 如何修复固定链接不适用于 Vagrant 和 Wordpress?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23960181/

相关文章:

php - MySQL 到 PostgreSQL 编码问题

php - 在产品图片下方显示产品价格

php - 在 woocommerce 中添加内容和自定义页面标题的位置

javascript - wordpress在javascript中获取标题

Apache 加载 mod_ssl 但在我的虚拟主机中忽略了 <IfModule mod_ssl.c>

angular - OPTIONS 获取 401 - 预检请求未通过 Apache 上的访问控制检查

php - 我已经将我的站点从 PHP 更改为 ASP?现在如何处理我的旧网址

php - 警告 : mysql_fetch_array(): supplied argument is not a valid

mysql - XML 导入到 WordPress 数据库

php - .htaccess 子域重定向 + wordpress