문제 파악

워드프레스를 사용하는 도중 테마나 플러그인과 같이 파일을 업로드 하려고 할 때 종종 “링크가 만료되었습니다. (the link you followed has expired.)”라는 오류 메시지가 발생합니다. 이 오류는 실제로 링크가 만료된 것이 아니라 업로드 용량 제한 문제로 인해 발생하는 경우가 대부분입니다.

해결 방법

업로드 용량 제한 문제는 WordPress의 루트 폴더에 있는 .htaccess 파일에 몇 가지 설정을 추가하는 것으로 해결 할 수 있습니다.

아래는 .htaccess 파일에 추가해야 하는 설정입니다.
각 설정은 업로드된 파일의 최대 크기, 포스트로 전송되는 데이터의 최대 크기, 스크립트 실행의 최대 시간, 입력 데이터 처리의 최대 시간을 제한하는 것입니다.

php_value upload_max_filesize 256M
php_value post_max_size 256M
php_value max_execution_time 300
php_value max_input_time 60
Apache

이 설정을 추가함으로써 업로드 용량 제한을 조정하여 “링크가 만료되었습니다.” 오류를 해결할 수 있습니다.

.htaccess 파일이란?

.htaccess 파일은 Apache 웹 서버에서 사용되는 구성 파일입니다.
이 파일은 웹 서버의 동작을 변경하고 디렉토리 단위 또는 특정 요청에 대한 설정을 지정하는 데 사용됩니다.

파일 수정 방법

.htaccess 파일을 서버에서 직접 수정하는 것은 번거로울 수 있습니다.
따라서 먼저 ① 파일을 다운로드하여 편집 도구인 vscode 등을 이용하여 ② 내용을 수정한 후, ③ 다시 업로드하여 파일을 교체하는 방식으로 진행하는것을 추천드립니다.

앞에 마침표(.) 가 붙어있는 파일은 기본적으로 숨김 파일로 인식 되기 때문에 파일을 다운로드 하는 과정에서 파일 이름이나 확장자가 변경될 수 있습니다. (예: htaccess.txt 등)
이런 경우에는 서버에 파일을 그대로 업로드한 후, 파일명을 변경하는 방식으로 해결 할 수 있습니다.

# 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 /wp-sample/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp-sample/index.php [L]

php_value upload_max_filesize 256M
php_value post_max_size 256M
php_value max_execution_time 300
php_value max_input_time 60
</IfModule>

# END WordPress
[.htaccess 전체 코드] ‘/wp-sample’은 자신의 사이트 주소가 됩니다.