.htaccess 尝试在htaccess中更改上载文件大小参数时出现内部服务器错误

q9yhzks0  于 2022-11-16  发布在  其他
关注(0)|答案(2)|浏览(175)

我在本地编辑了一个WordPress站点,并准备将其上传到服务器。当我这样做时,我通常会更改(增加)最大文件上传大小,因为我使用插件导出/导入网站,而这个插件只需要100 MB的导入文件大小(插件:所有在一个WP迁移,免费版本)。
在完成此操作后,我将以下代码添加到位于html文件夹中的.htaccess文件的末尾:

php_value upload_max_filesize 1000M
php_value post_max_size 1000M
php_value memory_limit 1000M
php_value max_execution_time 0
php_value max_input_time 300

这通常可以正常工作,但这次浏览器中会显示以下错误消息(在页面刷新时):
内部服务器错误
服务器遇到内部错误或配置错误,无法完成您的请求。
此错误的根本原因取决于处理该错误的是哪一个模块以及出现此错误时工作进程中出现了何种情况。
有关此错误的详细信息,请参阅服务器错误日志。
1.我已 * 剥离 *.htaccess档案中与Breeze快取插件相关(并由其动态产生)的程式码,而且网站在没有此程式码的情况下也能正常运作(假设我没有在档案中加入“上传档案大小程式码”)。
1.我已经 * 注解掉了 * GD-SSL(Godaddy SSL)相关的代码,没有这段代码网站也能正常工作(因为我没有在文件中添加“上传文件大小代码”)。
这是我的.htaccess文件在这些编辑之后的样子(当然,这些编辑是为了解决错误):

# BEGIN GD-SSL
# <IfModule mod_rewrite.c>
# Options +FollowSymLinks
# RewriteEngine On
# RewriteCond %{HTTPS} !=on
# RewriteCond %{HTTP_USER_AGENT} ^(.+)$
# RewriteCond %{SERVER_NAME} ^alloptik\.se$ [OR]
# RewriteCond %{SERVER_NAME} ^49l\.fd7\.myftpupload\.com$
# RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
# Header add Strict-Transport-Security "max-age=300"
# Header always set Content-Security-Policy "upgrade-insecure-requests"
# </IfModule>
# END GD-SSL

# BEGIN WordPress
# The directives (lines) between "BEGIN WordPress" and "END WordPress" are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

php_value upload_max_filesize 1000M
php_value post_max_size 1000M
php_value memory_limit 1000M
php_value max_execution_time 0
php_value max_input_time 300
wgxvkvu9

wgxvkvu91#

请在wp-config.php文件中使用下面的代码并删除您的htaccess php_value。
https://prnt.sc/7xitGHbSIFEn

@ini_set( 'upload_max_size' , '1000M' );
@ini_set( 'post_max_size', '1000M');
@ini_set( 'max_execution_time', '300' );
hmmo2u0o

hmmo2u0o2#

如果PHP是作为Apache * 模块 * 安装的,您只能在.htaccess中使用php_value(和相关的)指令,而在您的实际服务器环境中可能不是这样。500内部服务器错误可能是由于指令没有被识别。
您可以尝试使用包含以下内容的per-directory .user.ini file(在CGI/FastCGI上):

; Custom settings
upload_max_filesize = 1000M
post_max_size = 1000M
memory_limit = 1000M
max_execution_time = 0
max_input_time = 300

但是,您还需要检查user_ini.filenameuser_ini.cache_ttl PHP INI设置,因为预期的文件名可能与您的服务器上的文件名不同,并且默认情况下该文件是“缓存”的。
此外,您的主机(GoDaddy)可能会施加无法规避的额外限制(对 * 共享主机计划 *)。
参考编号:

相关问题