gpt4 book ai didi

php - 用 PHP 构建的多语言(多语言)网站的自定义 404 页面

转载 作者:行者123 更新时间:2023-12-02 04:07:43 26 4
gpt4 key购买 nike

我有一个使用两种语言的网站:英语和荷兰语。

英语版本位于根目录 (public_html) 中,荷兰语版本位于/nl/目录中。

我的网站是用 PHP 构建的。

当链接损坏(页面已移动或不再存在)时,我希望讲荷兰语的人(荷兰人和比利时人)重定向到荷兰语的 404 页面,其余的重定向到英语的 404 页面。

如何为这个多语言(多语言)网站创建自定义 404 错误页面?请给我一个完整的代码,例如(php 和/或 .htaccess)。

我的 .htacces 文件包含以下行:

# Instructs webbrowsers how to cache content
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 5 minutes"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>

# Rewrite non-www to www
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

RewriteEngine on
RewriteRule ^(.*)\.html$ $1.php [nc]

# Error Page(s)
ErrorDocument 404 /404.php

最佳答案

您可以在.htaccess中使用它:

ErrorDocument 404 /error_en.html

<If "%{REQUEST_URI} =~ /nl\x2F.*/">
ErrorDocument 404 /error_nl.html
</If>

默认错误页面将是 error_en.html,如果有人尝试访问 /nl/ 目录中不存在的页面 - 他将获取error_nl.html页面的内容。

确保 error_en.html 和 error_nl.html 文件都存在于您的目录中。

Note the usage of \x2F inside the regular expression instead of the / char that you cannot escape inside the regular expressions.

关于php - 用 PHP 构建的多语言(多语言)网站的自定义 404 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38569389/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com