.htaccess 404不同的错误

时间:2014-10-20 17:29:38

标签: regex apache .htaccess mod-rewrite redirect

我有一个多语言网站,其中包含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,但如果我可以从根目录中设置所有目录,那就更好了。

2 个答案:

答案 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