如果不是以 .htaccess 中的语言 ID 或国家/地区 ID 结尾,如何重写 URL

How to Rewrite urls if not ends with language id or country id in .htaccess

如何在 .htaccess 中重写 url(如果不是以语言 ID 或国家/地区 ID 结尾)

在我的例子中,我希望重定向链接不以

结尾

home/(en | fr| ar)/(us| ma |ae | sa )

例如:

https://exemple.com/home/en/sa/...

https://exemple.com/home/es/sa/...

https://exemple.com/home/ar/...

我试过这个:

RewriteRule ^home/!(en|ae|sa)/!(sa|ma|ae|sa)/(.*)$ / [L,R=301,QSA]

但是没用

谢谢大家

您可以使用此重定向规则:

RewriteRule ^home/(?!(?:en|fr|ar)/(?:us|ma|ae|sa))([^/]+/[^/]+) / [L,R=301,NC,NE]

(?!(?:en|fr|ar)/(?:us|ma|ae|sa)) 是一个否定的先行条件,如果 /home 后面没有允许的 language/country 代码,URL 匹配将失败。