我有一个多语言网站,其中包含example.com/en/
和/fr/
,/de/
等等。
现在我想要一个默认的errorpage,例如在example.com/en/404.php
(在所有语言目录中)
如果有人拨打example.com/de/site-not-existing
我想要显示example.com/de/404.php
。这也适用于/en/
和/fr/
我的问题是我无法在我的.htaccess中使用ErrorDocument
,因为它只能设置一个ErrorDocument。
还有另一种解决方案吗?我想在每个语言目录中创建一个htaccess,但如果我可以从根目录中设置所有目录,那就更好了。
答案 0 :(得分:1)
您需要在mod_rewrite
文件中使用DOCUMENT_ROOT/.htaccess
规则:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(en|de|fr)/ /$1/404.php [L,NC]
答案 1 :(得分:0)
将所有404转到404.php,然后使用$ _SERVER ['REQUEST_URI'],您可以检测用户来自哪个语言变体,将它们放到404页面,并将它们重定向到相应的404 .PHP