簡體   English   中英

如何在opencms中將多個url模式分配給同一個容器頁面

[英]How to assign multiple url patterns to same container page in opencms

我想用不同的 url 模式調用特定的容器頁面

www.abc.com/accounts/india-accounts/account-details?id=XXXXX

www.abc.com/accounts/india-accounts/account-details/xxxxx

這里的 account-details 是公共容器頁面。 其中 xxxx 值每次都會更改。

我還沒有找到辦法做到這一點。 Opencms需要在db中有一個vfs資源被引用,如果你沒有資源404被“拋出”。

有一些方法可以繞過它。

  1. 如果你的資源很少,就使用兄弟姐妹;
  2. 如果您有未定義數量的可能組合,我將使用 apache httpd(或 varnish 或 nginx 或任何您喜歡的)重寫規則;
  3. 您可能會實現某種可以識別該行為的 vfs 驅動程序(我認為非常復雜)。

第二個解決方案是我在剛剛完成的項目中使用它來適應您的情況。

在 httpd 虛擬主機中:

RewriteCond %{REQUEST_URI} ^/accounts/india-accounts/account-details/.*$
RewriteRule ^/[^/]+/accounts/india-accounts/account-details/.*([^/]+)/?.*$ %{REQUEST_URI}?id=$1 [QSA]

RewriteCond %{REQUEST_URI} ^/accounts/india-accounts/account-details.*$
RewriteRule ^/accounts/india-accounts/account-details.*$ /opencms/opencms/accounts/india-accounts/account-details [PT,QSA]

希望能幫助到你

你究竟想要什么?

我認為您只想使用 id=XXX 的值對容器進行處理。 像這樣的http://aeromexico.com/es/viaja-con-aeromexico/equipaje/?site=mx ,如果您將 de 'mx' 更改為 'ar' 文本和標志將更改。

為此,您只需在模板中使用范圍。 記住是加載的第一件事。 或者,如果您想將容器示例從內容類型列表更改為其他內容,您將需要該內容類型的確切位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM