有没有办法创建假目录并通过 .htaccess 为它们赋值?

Is there a way to create fake directories and assign them a value via .htaccess?

目标是在 HTTP_HOST 和 REQUEST_URI 之后创建一个“假”语言子目录。

[Issue] 
localhost/public_html causes 404, but localhost/public_html/index works.

当前代码:

ErrorDocument 404 /public_html/404.php
ErrorDocument 500 /public_html/500.php
DirectoryIndex index.php
RewriteEngine On

RewriteRule ^$ /en/ [L,R=301]

# ASSIGN ENGLISH LANGUAGE PARAMETER IF NOT FOUND IN URL
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !^(en|id|fr|ru|de|es|ro|tr|zh|ar)/ /en%{REQUEST_URI} [L,NC,R=302]

# ASSIGN LANGUAGE PARAMETER A VALUE IF FOUND IN URL
RewriteRule ^(en|id|fr|ru|de|es|ro|tr|zh|ar)/(.*) ?language= [QSA,NC,L]

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^.]+?)/?$ .php [L,NC]

RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^([^.]+?)/?$ .html [L,NC]

文件夹目录:

xampp root folder
[
- public_html
]

website folder (public_html)
[
 - .htaccess
 - index.php
 - contact.php
 - style.css
 - etc.php
]

更新: 感谢anubhava,问题已经成功解决!

确保这 2 条规则是您的 最顶层 规则:

ErrorDocument 404 /public_html/404.php
ErrorDocument 500 /public_html/500.php
DirectoryIndex index.php

RewriteEngine On

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^(index\.php)?$ /en/ [L,R=301]

# ASSIGN ENGLISH LANGUAGE PARAMETER IF NOT FOUND IN URL
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !^(en|id|fr|ru|de|es|ro|tr|zh|ar)/ /en%{REQUEST_URI} [L,NC,R=302]

# ASSIGN LANGUAGE PARAMETER A VALUE IF FOUND IN URL
RewriteRule ^(en|id|fr|ru|de|es|ro|tr|zh|ar)/(.*) ?language= [QSA,NC,L]

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^.]+?)/?$ .php [L]

RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^([^.]+?)/?$ .html [L]

确保在测试此更改之前完全清理浏览缓存。