"文件不存在" mod_rewrite上的错误(WordPress永久链接)

时间:2014-11-04 00:11:30

标签: wordpress apache .htaccess mod-rewrite permalinks

我正在尝试在运行Ubuntu的Linode服务器上配置WordPress永久链接。即使在完成配置它们的基本技巧之后,永久链接也无法正常工作。

.htaccess -file已被授予“777”权限并且WP已重写它:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /mydirectory/mysubdirectory/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /mydirectory/mysubdirectory/index.php [L]
</IfModule>

# END WordPress

我已按以下方式配置“etc / apache2 / sites-available / default:

DocumentRoot /var/www
<Directory />
   Options FollowSymLinks
       AllowOverride ALL
</Directory>
   <Directory /var/www/>
       Options Indexes FollowSymLinks MultiViews
       AllowOverride ALL
       Order allow,deny
       allow from all
   </Directory>
   <Directory /var/www/mydomin.com/public_html/mydirectory/>
      RewriteEngine On
      AllowOverride ALL
   </Directory>

如您所见,我尝试将“AllowOverride”设置为不同的文件夹。我只是给了它一个镜头,认为可能有些东西覆盖了某些文件夹的规则。

我在终端上运行了“a2enmod rewrite”命令,并启用了mod_rewrite。

每次我做出更改时,我都重新启动了我的Apache。

当我在WordPress网站上导航时,出现“找不到页面”错误。 Apache错误日志说明如下:

File does not exist: /var/www/mydomain.com/public_html/mydirectory/mysubdirectory/

我在这里缺少什么?

1 个答案:

答案 0 :(得分:3)

以下设置可以在您的VirtualHost指令中找到相关网站。在大多数情况下,它位于单独的文件中,并从服务器的主conf文件中引用。

RewriteEngine On
AllowOverride ALL

一般来说,您希望将每个站点的所有设置保留在自己的文件中。因此,如果您需要调整其他任何内容,请在包含该站点的VirtualHost指令的文件中执行此操作。它使将来更容易进行故障排除/维护。