[ https://issues.apache.org/jira/browse/OFBIZ-5109?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13541097#comment-13541097 ]
Jacques Le Roux edited comment on OFBIZ-5109 at 12/30/12 3:39 PM: ------------------------------------------------------------------ == {code} == An easy way for those who want to test (eCommerce controller): {code} Index: controller.xml =================================================================== --- controller.xml (revision 1426787) +++ controller.xml (working copy) @@ -22,6 +22,7 @@ xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/site-conf.xsd"> <description>OFBiz: eCommerce Controller Configuration File</description> <errorpage>/error/error.jsp</errorpage> + <status-code>301</status-code> <handler name="java" type="request" class="org.ofbiz.webapp.event.JavaEventHandler"/> <handler name="bsf" type="request" class="org.ofbiz.webapp.event.BsfEventHandler"/> @@ -81,7 +82,7 @@ <description>Verify a user is logged in.</description> <security https="true" auth="false"/> <event type="java" path="org.ofbiz.securityext.login.LoginEvents" invoke="storeCheckLogin"/> - <response name="success" type="view" value="main"/> + <response name="success" type="view" value="main" status-code="302"/> <response name="error" type="view" value="login"/> </request-map> <request-map uri="login"> {code} was (Author: jacques.le.roux): An easy way for those who want to test (eCommerce controller): Index: controller.xml =================================================================== --- controller.xml (revision 1426787) +++ controller.xml (working copy) @@ -22,6 +22,7 @@ xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/site-conf.xsd"> <description>OFBiz: eCommerce Controller Configuration File</description> <errorpage>/error/error.jsp</errorpage> + <status-code>301</status-code> <handler name="java" type="request" class="org.ofbiz.webapp.event.JavaEventHandler"/> <handler name="bsf" type="request" class="org.ofbiz.webapp.event.BsfEventHandler"/> @@ -81,7 +82,7 @@ <description>Verify a user is logged in.</description> <security https="true" auth="false"/> <event type="java" path="org.ofbiz.securityext.login.LoginEvents" invoke="storeCheckLogin"/> - <response name="success" type="view" value="main"/> + <response name="success" type="view" value="main" status-code="302"/> <response name="error" type="view" value="login"/> </request-map> <request-map uri="login"> > Allow a whole controller or/and request/s to override a default 303 in case > of redirect > --------------------------------------------------------------------------------------- > > Key: OFBIZ-5109 > URL: https://issues.apache.org/jira/browse/OFBIZ-5109 > Project: OFBiz > Issue Type: Improvement > Components: ALL COMPONENTS > Affects Versions: SVN trunk > Reporter: Jacques Le Roux > Assignee: Jacques Le Roux > Priority: Minor > Labels: 301, 302, 303, code, redirection, redirectionCode, seo > Fix For: SVN trunk > > Attachments: OFBIZ-4937 In version 10.04 - After clicking on lookup, > display login page again.patch > > > Currently when we define a request-redirect in controllers it underneath uses > the Java default 302 redirections ([temporary > redirect|http://en.wikipedia.org/wiki/List_of_HTTP_status_codes#3xx_Redirection]). > > Actually all redirect response types (url, cross-redirect, request-redirect, > request-redirect-noparam) call HttpServletResponse.sendRedirect() through > RequestHandler.callRedirect(). So all controllers redirections do temporary > redirects (302). Ths is all good as long as you don't worry about SEO best > practices which recommend to use 301 instead of 302 (Google for "301 vs 302" > or see [1], [2], [3]). > This matters only for eCommerce. In the context of an ERP (or backend by and > large), we want to replace 302 by 303 and keep the possibility to use 302 > (for [Post/Redirect/Get > pattern|http://en.wikipedia.org/wiki/Post/Redirect/Get] where 303 is best on > HTTP 1.1, 302 on HTTP 1.0) > I want to set a default 303 status-code property in requestHandler.properties > file. Which could be changed for 302 for those who prefer it. The idea is > then to allow to override this default value with a status-code attribute on > the response element. But since I want also to be able to override a complete > controller (like for an eCommerce controller) without having to override each > concerned requests. I finally decided to use also a status-code element in > site-conf.xsd to be placed before handlers: > <xs:element name="status-code" type="xs:string"/> > If present, this will override the status-code property. And the status-code > attribute on the response element will override both (cascading), eg: > <response name="success" type="request-redirect" value="main" > status-code="301"/> > [1] http://support.google.com/webmasters/bin/answer.py?hl=en&answer=93633 > [2] http://support.google.com/webmasters/bin/answer.py?hl=en&answer=40132 > [3] http://searchengineland.com/images/301-302-explained.gif -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira