使用虚拟主机时,删除Wordpress子文件夹中的index.php

时间:2013-08-13 03:21:47

标签: wordpress virtualhost redhat

我到处寻找找到这个问题的解决方案,但我尝试过的任何工作都没有。当对/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
没有任何运气。

这不是一个大问题,但它让我很烦恼!如果有人有解决方案,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

确保:

  • 您的wordpress永久链接设置设置为/%postname%
  • .htaccess文件放在/ var / www / html / domain1中(对于domain2也一样)
  • 您为domain1 / 2目录指定了一些规则(在配置文件中的</virtualhost>标记之前添加这段代码):

    <Directory /var/www/html/domain1>
            Options FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>