我到处寻找找到这个问题的解决方案,但我尝试过的任何工作都没有。当对/index.php/%postname%/进行永久链接设置时,它工作正常,但是当我删除index.php部分时,我只会得到一个404并且这在日志中:
[Tue Aug 13 05:05:46 2013] [error] [client 202.58.198.84] File does not exist: /var/www/html/domain1/postname, referer:.....
我有一个运行Apache的Red Hat Web服务器,带有两个Wordpress站点和虚拟主机。虚拟主机看起来像这样。
<VirtualHost *:80>
# General
ServerAdmin info@domain1.com
DocumentRoot /var/www/html/domain1
ServerName domain1.com
ServerAlias www.domain1.com
# Logging
ErrorLog logs/domain1-error_log
CustomLog logs/domain1-access_log common
</VirtualHost>
和
<VirtualHost *:80>
# General
ServerAdmin info@domain2.com
DocumentRoot /var/www/html/domain2
ServerName domain2.com
ServerAlias www.domain2.com
# Logging
ErrorLog logs/domain2-error_log
CustomLog logs/domain2-access_log common
</VirtualHost>
在更改前端设置中的固定链接后,子文件夹中的.htaccess文件如下所示。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
我也试图改变
RewriteBase /
到
RewriteBase /subfolder
没有任何运气。
这不是一个大问题,但它让我很烦恼!如果有人有解决方案,我将不胜感激。
答案 0 :(得分:1)
确保:
您为domain1 / 2目录指定了一些规则(在配置文件中的</virtualhost>
标记之前添加这段代码):
<Directory /var/www/html/domain1>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>