最近我對我的 API 域路徑做了一個小改動,我不想更新我的應用程式,我想使用一個.htaccess檔案來解決 URL 問題。
我當前的 API 域是: https://api.example.com
我需要重定向到 https://api.example.com/en/
我有 API
- 英語 -
https://api.example.com/en - 阿拉伯語 -
https://api.example.com/ar
但是我目前的 Englsh APIhttps://api.example.com只是,我需要添加/en/它。
如果已經是,/ar/則無需執行任何操作。
我想重定向到https://api.example.com/en/如果接入域只https://api.example.com。
因為在我直接從域中提供我的 API 的英文版本之前,但現在我已將其分離為en- 英語和ar阿拉伯語。
我的代碼:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^api.example.com [NC]
RewriteRule ^(.*)$ https://api.example.com/en/$1 [R=301,L]
錯誤 :
ERR_TOO_MANY_REDIRECTS
在地址欄中我可以看到
http://api.example.com/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/
我該如何解決這個問題?
uj5u.com熱心網友回復:
您需要檢查請求的 URL 路徑是否尚未以/en/或開頭/ar/。例如:
RewriteCond %{HTTP_HOST} ^api\.example\.com [NC]
RewriteCond %{REQUEST_URI} !^/(en|ar)/
RewriteRule ^(.*)$ https://api.example.com/en/$1 [R=301,L]
或者,
RewriteCond %{HTTP_HOST} ^api\.example\.com [NC]
RewriteRule !^(en|ar)/ /en%{REQUEST_URI} [R=301,L]
旁白:由于這是一個“API”,請求是否需要遵循重定向?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/370210.html
