掲示板
sitemap is not generating for public pages in virtualhost
8年前 に Amit Doshi によって更新されました。
sitemap is not generating for public pages in virtualhost
Liferay Master 投稿: 550 参加年月日: 10/12/29 最新の投稿
Hi All,
We are working on google crawling stuffs, in which google required sitemap.xml file in order to crawl the content from the website.
Our liferay environment is working fine, but when I try to hit the url https://iqtst.xyz.com/sitemap.xml & also i tried with https://iqtst.xyz.com/sitemap.xml?groupId=12345&privateLayout=false . Both of them didn't work.
It was not showing anything in log files but gives error as
Internal Server Error
An error occurred while accessing the requested resource.
https://iqtst.xyz.com/sitemap.xml?groupId=6364098&privateLayout=false
Not sure what was going wrong in this . We are using liferay 6.1 GA2 EE edition.
But one more thing forgot to mention, it is with virtualhost and also when I try to hit and find for the private page like https://iqtst.xyz.com/sitemap.xml?groupId=12345&privateLayout=true, it works fine.
It does not work for public pages.
Any pointer will be highly appreciated.
Thanks in advance.
Regards,
Amit Doshi
We are working on google crawling stuffs, in which google required sitemap.xml file in order to crawl the content from the website.
Our liferay environment is working fine, but when I try to hit the url https://iqtst.xyz.com/sitemap.xml & also i tried with https://iqtst.xyz.com/sitemap.xml?groupId=12345&privateLayout=false . Both of them didn't work.
It was not showing anything in log files but gives error as
Internal Server Error
An error occurred while accessing the requested resource.
https://iqtst.xyz.com/sitemap.xml?groupId=6364098&privateLayout=false
Not sure what was going wrong in this . We are using liferay 6.1 GA2 EE edition.
But one more thing forgot to mention, it is with virtualhost and also when I try to hit and find for the private page like https://iqtst.xyz.com/sitemap.xml?groupId=12345&privateLayout=true, it works fine.
It does not work for public pages.
Any pointer will be highly appreciated.
Thanks in advance.
Regards,
Amit Doshi
8年前 に Amit Doshi によって更新されました。
RE: sitemap is not generating for public pages in virtualhost
Liferay Master 投稿: 550 参加年月日: 10/12/29 最新の投稿
Found below errors in the log file
2015-07-31 17:02:21,740 [] [ERROR] [html.portal.status_jsp] [tomcat-http--7] [344102] java.lang.NullPointerException
java.lang.NullPointerException
at com.liferay.portal.util.PortalImpl.isLayoutSitemapable(PortalImpl.java:4963)
at com.liferay.portal.util.PortalUtil.isLayoutSitemapable(PortalUtil.java:1504)
at com.liferay.portlet.layoutsadmin.util.SitemapImpl.visitLayout(SitemapImpl.java:229)
at com.liferay.portlet.layoutsadmin.util.SitemapImpl.visitLayouts(SitemapImpl.java:274)
at com.liferay.portlet.layoutsadmin.util.SitemapImpl.visitLayout(SitemapImpl.java:266)
at com.liferay.portlet.layoutsadmin.util.SitemapImpl.visitLayouts(SitemapImpl.java:274)
at com.liferay.portlet.layoutsadmin.util.SitemapImpl.visitLayout(SitemapImpl.java:266)
at com.liferay.portlet.layoutsadmin.util.SitemapImpl.visitLayouts(SitemapImpl.java:274)
at com.liferay.portlet.layoutsadmin.util.SitemapImpl.getSitemap(SitemapImpl.java:77)
at com.liferay.portlet.layoutsadmin.util.SitemapUtil.getSitemap(SitemapUtil.java:41)
at com.liferay.portlet.layoutsadmin.action.SitemapAction.execute(SitemapAction.java:78)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:176)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:560)
at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:537)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
at com.liferay.portal.servlet.filters.gzip.GZipFilter.processFilter(GZipFilter.java:123)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:294)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:73)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:690)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:477)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)
at com.liferay.portal.servlet.SitemapServlet.service(SitemapServlet.java:49)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:216)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:187)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:167)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:167)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:187)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:73)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
2015-07-31 17:02:21,759 [] [ERROR] [portal.struts.PortletRequestProcessor] [tomcat-http--7] [344121] Forward does not exist
8年前 に Alexey Kakunin によって更新されました。
RE: sitemap is not generating for public pages in virtualhost
Liferay Master 投稿: 621 参加年月日: 08/07/07 最新の投稿
Hi Amit!
It looks like your public pages has some "corrupted" page. Sources of isLayoutSitemapable method in 6.1 CE GA2 are followed (got it here: https://github.com/liferay/liferay-portal/blob/6.1.1-ga2/portal-impl/src/com/liferay/portal/util/PortalImpl.java#L4928-L4936)
I do not have sources of 6.1 EE GA2 under my hands to say exactly - which like produced NPE - but my vote is for return layoutSettings.isSitemapable(); (mean - Liferay was not able by some reason to get layout settings for specific page)
What you can do:
1. Since you are EE customer submit request into LESA - Liferay staff should help you
2. As workaround - write simple ext-plugin to overwrite PortalImpl and replace this method to check both - layot and layoutsettings for null and return false in case they null - it will avoid this "wrong" layout and generate sitemap for other pages
3. Try to play with pages in public site - for example remove it one to one (of possible) to find that "wrong" page.
It looks like your public pages has some "corrupted" page. Sources of isLayoutSitemapable method in 6.1 CE GA2 are followed (got it here: https://github.com/liferay/liferay-portal/blob/6.1.1-ga2/portal-impl/src/com/liferay/portal/util/PortalImpl.java#L4928-L4936)
public boolean isLayoutSitemapable(Layout layout) {
if (layout.isPrivateLayout()) {
return false;
}
LayoutSettings layoutSettings = LayoutSettings.getInstance(layout);
return layoutSettings.isSitemapable();
}
I do not have sources of 6.1 EE GA2 under my hands to say exactly - which like produced NPE - but my vote is for return layoutSettings.isSitemapable(); (mean - Liferay was not able by some reason to get layout settings for specific page)
What you can do:
1. Since you are EE customer submit request into LESA - Liferay staff should help you
2. As workaround - write simple ext-plugin to overwrite PortalImpl and replace this method to check both - layot and layoutsettings for null and return false in case they null - it will avoid this "wrong" layout and generate sitemap for other pages
3. Try to play with pages in public site - for example remove it one to one (of possible) to find that "wrong" page.