我在运行Apache2的Ubuntu机器上安装了一个现有的Wordpress站点。
除了网站的一个自定义部分,即https://localhost.wordpress/app之外,几乎所有网页都正确加载。当我尝试访问此页面时,我的apache2错误日志中出现错误:
[Fri Jan 17 16:57:03 2014] [error] [client 127.0.0.1] File does not exist: /var/www/app, referer: http://localhost.wordpress/
Apache服务器似乎在错误的地方寻找文件。它不是去我拥有wordpress网站(/home/dev/public_html/wordrpress/public
)的地方,而是查看/var/www/app
。
我该如何更改?
我对Wordpress并不太熟悉,但问题似乎出现在 app文件夹上,我以前在Wordpress安装中并不常见。
文件夹结构:
我已经配置了一个虚拟主机,以便该网站从与我的其他网站相同的文件夹位置运行。即在/etc/apache2/sites-available/wordrpress
我有:
<VirtualHost *:80>
ServerName localhost.wordrpress
ServerAlias www.localhost.wordrpress
DocumentRoot /home/dev/public_html/wordrpress/public
LogLevel warn
ErrorLog /home/dev/public_html/wordrpress/log/error.log
CustomLog /home/dev/public_html/wordrpress/log/access.log combined
</VirtualHost>
我还通过更新我的/etc/hosts
文件来确保网站在本地解析到我的计算机:
# DNS for localhost wordpress site development.
127.0.0.1 localhost.wordpress
127.0.0.1 www.localhost.wordpress
我按照以下说明设置 https配置&amp;将这些命令运行到我的终端:
sudo a2enmod ssl
sudo a2ensite default-ssl
sudo /etc/init.d/apache2 restart
我还更改了数据库的wp_options表,使用我的机器localhost url作为wordpress siteurl等。
答案 0 :(得分:0)
尝试添加:
RewriteCond %{REQUEST_URI} ^/(app).*$ [NC]
RewriteRule . - [L]
到默认的WordPress安装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
所以看起来应该是这样的:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/(app).*$ [NC]
RewriteRule . - [L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress