如何添加Wordpress' htaccess配置到VirtualHost conf

时间:2016-07-29 12:40:50

标签: wordpress apache .htaccess mod-rewrite

我把Wordpress'配置到我的VirtualHost指令中,它看起来像这样:

<VirtualHost *:80>
ServerName www.example.com
ServerAlias example.com
DocumentRoot /var/www/html

<Directory />
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
</Directory>
</VirtualHost>

当我把Wordpress&#39;如上所述在VirtualHost的根目录中配置,永久链接和子域都不起作用。

但是当我把Wordpress&#39;在/etc/httpd/conf/httpd.conf根目录/var/www/html内的配置(因为你可以看到它与虚拟主机的根目录相同),那么子域名和永久链接都没问题,我不明白吗?

我之所以不想放置Wordpress&#39; httpd.conf中的配置是因为我想创建另一个网站,但它不是多站点,因此我必须在其上输入另一个Wordpress' configuration

  • I IncludeOptional httpd.conf
  • 底部的虚拟主机配置文件
  • 我使用的是CentOS 7
  • Apache 2.4
  • Wordpress 4.5.3
  • 包括Mod重写

1 个答案:

答案 0 :(得分:2)

几个小时之后,似乎另一个重写规则高于 IncludeOptional path/to/virtualhost/*.conf中的httpd.conf干扰了Wordpress的配置。

要解决wordpress中最常见的永久链接或子域问题,请务必检查重写规则并确保Wordpress规则(that one for the .htaccess始终在其他规则之上。