wordpress - 在生产服务器上更改 .htaccess 文件时出现错误 500
问题描述
.htaccess
我之前在我的 Wordpress 站点的本地开发版本上运行文件没有任何问题,但是.htaccess
在我的生产站点上对文件进行等效更改会导致整个站点返回错误 500。
该站点在服务器上的结构如下:
- www.mydomain.com
-- logs
-- public_html
--- (Wordpress root folder)
--- .htaccess
--- index.php
-- webstats
.htaccess
这是我试图在网站上运行的修改后的文件:
#START WORDPRESS
RewriteEngine On
RewriteBase /public_html/
RewriteRule ^about/?$ /public_html/about/history/ [L,NC,R=301]
RewriteRule ^library/?$ /public_html/the-library/gallery/ [L,NC,R=301]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
#END WORDPRESS
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
php_value max_input_time 300
我对 .htaccess 语法的理解非常缺乏,所以我不能确定我在文件语法中出了什么问题会导致这个问题。
解决方案
在检查 error.log 时对anubhava 大喊大叫,我确实这样做了,并在那里发现了两个离散的错误。
第一个是Andrea引用的:
无效的命令“php_value”,可能拼写错误或由服务器配置中未包含的模块定义
我设法通过用and包裹php_value
块来解决这个问题。请注意之后缺少版本号-在许多地方推荐的使用对我不起作用。<IfModule mod_php.c>
</IfModule>
mod_php
mod_php_7
第二个错误如下:
RewriteBase:参数不是有效的 URL
因为我的 .htaccess 文件位于我的文档根目录(public_html
在 Siteground 托管的情况下),所以它只需要是一个/
,这也是 RewriteRules 所需的全部内容。
我的完成.htaccess
,没有错误,所有重定向都正常工作,现在看起来像这样:
<IfModule mod_php.c>
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
php_value max_input_time 300
</IfModule>
#START WORDPRESS
RewriteEngine On
RewriteBase /
RewriteRule ^about/?$ /about/history/ [L,NC,R=301]
RewriteRule ^the-library/?$ /the-library/gallery/ [L,NC,R=301]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
#END WORDPRESS
推荐阅读
- unix - 在双叉中,为什么孙子退出之前不能退出?
- primefaces - 在 ajax 事件期间禁用 p:selectOneMenu 的问题
- c# - 如何通过 C# 中的 Slack-App 在 Slack 上上传任何文件
- matplotlib - 如何将 Slider 的更新值始终设置在中心?
- akka - 用于 http 请求 Java 的 Akka 演员
- powershell - 从 Powershell 中的 write-host 输出中删除某些字符(Get-ADuser)
- sql - 数据库设计建议
- python-3.x - 使用 GridSpec vs pos 带有子图的数据系列动画
- django-admin - OSMGeoAdmin 显示 PointField 的文本区域
- java - 使用 Google 注册 Firebase 用户