【问题标题】:Liferay: Removing /web/ from all community sitesLiferay:从所有社区站点中删除 /web/
【发布时间】:2012-09-07 17:00:48
【问题描述】:

我似乎不知道如何重写网址,以便从我的所有社区网站中删除 /web/:

domain.com/web/communitysite1/page
domain.com/web/communitysite2/page
domain.com/web/communitysite3/page
domain.com/web/communitysite4/page

我希望它是,

domain.com/communitysite1/page
domain.com/communitysite2/page
domain.com/communitysite3/page
domain.com/communitysite4/page

这是来自 Liferay 的thread,解决方案是使用虚拟主机;但是,这仅适用于该域的社区站点之一,但我需要该域对于我正在做的所有社区站点都相同。

【问题讨论】:

标签: .htaccess url-rewriting liferay virtualhost liferay-6


【解决方案1】:

感谢@Yazmat 的帮助。 @Prakash K 这是我目前正在使用的,它是使用代理模块的不同解决方案。

ProxyHTMLExtended On ProxyHTMLEnable On SetOutputFilter INFLATE;proxy-html;DEFLATE ProxyHTMLURLMap ^/web/(.*)$ /$1 Rli

【讨论】:

    【解决方案2】:

    首先,您必须手动将页面链接从 domain.com/web/community... 更改为 domain.com/community

    之后你需要一个重写规则来将新的 url 重写为旧的而不通知用户:

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !^web/
    RewriteRule ^(.*)$ /web/$1 [L,QSA]
    

    那么你需要一个规则来将仍然访问旧网址的用户重定向到新网址,同时更改他们的浏览器链接:

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} ^web/
    RewriteRule ^web/(.*)$ /$1 [L,QSA,R=301]
    

    然后你需要混合它,但是,如果你这样做,你会得到一个无限循环,所以你需要一些东西来避免这种情况(我使用的一个技巧是添加一个可选参数第一条规则并检查第二条规则是否存在,如果存在则不重定向):

    RewriteEngine on
    
    RewriteCond %{REQUEST_FILENAME} ^web/
    RewriteCond %{QUERY_STRING} !(.*&)?r=0(&.*)?$
    RewriteRule ^web/(.*)$ /$1 [L,QSA,R=301]
    
    RewriteCond %{REQUEST_FILENAME} !^web/
    RewriteRule ^(.*)$ /web/$1?r=0 [L,QSA]
    

    【讨论】:

    • 你在第一部分是什么意思...手动更改我的页面链接?我假设,但我认为我的假设是错误的,您的意思是更改社区站点内每个页面的友好 url?还是您的意思是在主域的站点页面中创建反映社区站点页面中的页面?顺便说一句,我真的很感谢你的回复。谢谢!
    • 我的意思是,例如你有一个页面 home.html 包含一个类似的链接:<a href="/web/communitysite1/page">link</a>,你需要把它改成<a href="/communitysite1/page">link</a>(这就是我的意思)
    • 哦,好的,谢谢。我正在我的 vhost 文件中配置它,而这个 RewriteBase / 正在破坏我的 apache...
    • 这很奇怪,我编辑了我的答案(删除了 rewritebase,但还在 rewriteRules 中添加了一个“/”)
    • 我现在得到了 404 页的所有内容;有什么地方可以让我向您展示我的虚拟主机配置吗?我认为这会导致一些重写问题。
    猜你喜欢
    • 2016-03-27
    • 1970-01-01
    • 2020-01-06
    • 1970-01-01
    • 1970-01-01
    • 2013-02-11
    • 2021-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多