我正在写一个多语言网站。因此,我想对URL重写问题提供一些帮助。
案例:
RewriteRule !(nl|en|de)(.*).* /nl/ [R=301,L]
RewriteRule ^(.*)\.html /public/oldurl?section=nl¬found=$1$2&basehref=true&%1 [PT,L]
此重写规则的问题是:所有以.html结尾的文件都被重定向。我正在寻找的是以下内容:
我尝试了以下但是它不起作用:
RewriteCond %{REQUEST_URI} !^(nl|en|de)$
RewriteRule ^([a-z]{2})/(.*)\.html$ /pagenotfound.php?page=$2 [L,R=404]
我希望有人可以提供帮助。 提前谢谢。
答案 0 :(得分:2)
尝试将此.htaccess文件放在服务器根文件夹中:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/?$
RewriteRule ^.*$ /nl/ [R]
RewriteCond %{REQUEST_URI} !^/(nl|en|de)
RewriteRule ^.*/(.*)\.html$ /pagenotfound.php?page=$2 [L,R=404]
(你可能犯了几个错误,我试图解决它们) 我不确定第一个RewriteCond%{REQUEST_URI}正则表达式 - 可能会删除问号或斜线,我现在不能......现在无法测试。