[ 
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

Reply via email to