如果不是以 .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 匹配将失败。
如何在 .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 匹配将失败。