Access error problem of multilingual website... (htaccess)

Hello, I’d like to inquire.
I uploaded the website to the hosting and the domain was connected. However, there is a problem that ‘index.php’ does not open.
In fact, I’m not sure if this is a problem of ‘kirby’ or something else. So while studying about the problem, I also ask the forum… :frowning:

My website uses Korean and English, and when I access the website, it basically connects to the Korean website. So, /kr, /en are added after the default domain.
Even now, ‘/kr’ is automatically added when accessing the default domain. However, in this case, there is an error of 500.
If I directly erase ‘kr’ after the default domain and use ‘index.php’ to access it, some elements are invisible, but they can be connected.

my domain.

and FTP.


# Kirby .htaccess
# revision 2020-06-15

# rewrite rules
<IfModule mod_rewrite.c>

# enable awesome urls. i.e.:
RewriteEngine on

# make sure to set the RewriteBase correctly
# if you are running the site in a subfolder;
# otherwise links or the entire site will break.
# If your homepage is,
# set the RewriteBase to:
# RewriteBase /mysite

# In some environments it's necessary to
# set the RewriteBase to:
# RewriteBase /

# block files and folders beginning with a dot, such as .git
# except for the .well-known folder, which is used for Let's Encrypt and security.txt
RewriteRule (^|/)\.(?!well-known\/) index.php [L]

# block all files in the content folder from being accessed directly
RewriteRule ^content/(.*) index.php [L]

# block all files in the site folder from being accessed directly
RewriteRule ^site/(.*) index.php [L]

# block direct access to Kirby and the Panel sources
RewriteRule ^kirby/(.*) index.php [L]

# make site links work
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php [L]


# pass the Authorization header to PHP
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

# compress text file responses
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/json
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

I cannot access the site you linked to, it tries to enforce https seemingly without a valid certificate.

I uploaded the test file to FTP as ‘index.html’. Now, the test file I uploaded is linked to the domain.
The address is the same as ‘’.(The certificate has not been purchased yet.)
However, when a file working with ‘kirby’ is connected, the language ‘kr’ or ‘en’ is added after the address. In this case, is ‘kr’ or ‘en’ recognized as a directory? Connection error 500 occurs…

In a multilanguage site, Kirby adds the language as part of the URL. You can remove the language code for the default language. Alternatively, you can use different (sub)domains per language

I’m really sorry. Can you explain a bit more?
I know that multilingual sites add the language as url. In this case, is it possible not to be added to the url or not to be seen? While maintaining the functions of multilingual sites…

You can remove the language code from the URL for the default language, but not for secondary languages (otherwise you would end up with the same URL for different content, which is not possible and wouldn’t make sense).

See docs: Introduction | Kirby CMS

1 Like