Re: General use of rewrite / redirect

From: Date: Tue, 18 Mar 2008 13:35:06 +0000
Subject: Re: General use of rewrite / redirect
References: 1 2 3  Groups: php.general 
Request: Send a blank email to php-general+get-271715@lists.php.net to get a copy of this message
Quoting Aschwin Wesselius <aschwin@illuminated.nl>:
Per Jessen wrote:
Yes, that's a very typical setup. When the form is processed, you send a 303 redirect to the "Thank you" page. That way, if the user hits the "back" arrow, he's taken back to the form URL, not the post URL. (which would then warn him about re-submitting etc.)
Ok, fine. But why do a real redirect when a header with 303 could be sufficient? If you model good enough, there would not be a need for header(location) redirects. Or am I wrong?
What is your opinion about (ab)using rewrites / redirects? Do you use it quick and dirty, or is it some elegant way of controlling flow?
I think there are valid reasons for using a header(location) redirect. As Per already pointed out. I don't see what using header() has to do with a good design. Sometimes you just want to do a redirect 303 or not :)
I think there are plenty of perfectly valid reasons for using a redirect, whether dynamically from php or via an apache config. And undoubtedly there equally many poor reason for using redirect and/or rewrite. (they're very different things, by the way).
I know they're different things. I only want to start a discussion so people do understand other techniques instead of just using whatever 'works' as a solution to their problem with flow. Redirects do solve some issues, but they should be avoided whenever possible. header(location) mechanisms do come with a very huge disadvantage if you don't use them with caution. Requests are reinitialised, libraries loaded (again), DB connections setup/checked again, session lookups are being done, log write for another request etc. That's quite an impact for just not knowing what to do with flow. So, if you know what you want to handle (control) and what you want the user to see (view), one should be able to model it without the use of redirects unless it really is needed.
Not much different from a normal page load.
Or is it OK, to redirect and 'simplify' the flow?
I think it's ok to use. Also think about the fact that not all PHP applications are giant OO monsters. There's some simple scripts out there also. For wich header would be sufficient.
-- Aschwin Wesselius /'What you would like to be done to you, do that to the other....'/


« previous php.general (#271715) next »