몇 년 전에만 해도 국내 웹호스팅 업체 중 일부에 워드프레스를 설치하면 호스팅 업체의 기술 문제로 인해 사이트 주소에 index.php가 붙는 경우가 있었습니다. 지금은 그런 업체가 거의 없는 것 같습니다.
윈도 서버에 워드프레스를 설치하면 index.php가 붙을 수 있습니다(예: http://www.example.com/index.php/post_name). 그리고 리눅스 서버에서도 설정을 잘못하면 index.php가 표시될 수 있습니다.
이 경우 먼저 설정 > 고유주소에서 고유주소를 기본이 아닌 다른 설정으로 변경한 후에 저장을 시도해봅니다. 그러면 문제가 해결될 수 있습니다.
문제가 해결되지 않으면 .htaccess 파일이 제대로 업데이트되는지 확인해보도록 합니다.기본적인 워드프레스 블로그의 경우 .htaccess 파일에는 다음 내용이 포함되어 있습니다(WordPress Codex 문서 참고).
# 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
이외에도 mod_rewrite가 설치되어 활성화된 상태인지 확인해보도록 합니다. 이와 관련하여 다음 글을 참고해보세요.
- https://wordpress.stackexchange.com/questions/105795/remove-index-php-from-permalinks?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa
- https://www.e2enetworks.com/help/knowledge-base/how-to-enable-mod_rewrite-on-apache-on-centos/
모듈 mod_rewrite이 활성화되어 있고 .htaccess 설정이 제대로 된 상태에서 안 된다면 보통 한 가지 더 확인해볼 수 있는 것으로 가상 호스트 설정입니다. 아래 코드의 AllowOverride All 설정 확인해보도록 합니다.
<VirtualHost *:80>
<Directory /home/account/www/>
...
AllowOverride All # None이면 All로 변경
...
</Directory>
</VirtualHost>
그래도 안 되면 데이터와 DB를 백업한 후에 서버를 새로 설치하는 것도 고려해볼 수 있습니다.