我有一个非wordpress网站,我在一个子目录中安装了wordpress
www.example.com/wordpress /
我在wordpress文件夹中创建了一个htaccess文件(我有它的所有内容)
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>
# END WordPress
并在index.php(在wordpress文件夹中)进行了此更改
<?php
/**
* Front to the WordPress application. This file doesn't do anything, but loads
* wp-blog-header.php which does and tells WordPress to load the theme.
*
* @package WordPress
*/
/**
* Tells WordPress to load the WordPress theme and output it.
*
* @var bool
*/
define('WP_USE_THEMES', true);
/** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . './wordpress/wp-blog-header.php' );
管理员工作正常,但在尝试访问该网站时,它会给我错误500 。 我错过了什么?
Aclaration:我想在此网址中使用wordpress www.example.com/wordpress/ 因为我在根目录中有其他内容。
答案 0 :(得分:1)
错误500是内部服务器错误 WordPress中的内部服务器错误通常是由插件和/或主题功能引起的。我们知道的WordPress内部服务器错误的其他可能原因是:
可能的解决方案:
答案 1 :(得分:0)
假设您更新了永久链接(或复制了它提供给您的htaccess文件),请查看您的错误日志,因为错误500会在日志中产生错误。
对于Linux和Mac上的Apache服务器,可以在以下位置找到错误日志:/var/log/apache2/error_log
答案 2 :(得分:0)
管理员工作是因为,管理员不需要htaccess才能正常运行,有重写调用。
您的.htaccess在您的文件夹wordpress中运行,在其中重写,对此文件夹有效。我每次都这样做,我从不编辑它,除非ssl是为域启用的。
如果index.php在你的wordpress文件夹中,你不需要像你那样,只需要proxies: [{
context: '/api',
host: 'myserver.com',
port: 443,
https: true
}]
,这些文件就在同一个文件夹中。
答案 3 :(得分:0)
从最后一条规则中删除/ wordpress(RewriteBase保持不变)。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress