2010-02-01 02:03:36

boyandin
Member
beta

How to perform 301 redirection from a plugin?

Hello,

I need to perform 301 HTTP redirection from a plugin (named here my_redirect). The code that performs that looks like

function my_redirect() {
// …
header(‘HTTP/1.1 301 Moved Permanently’);
header(“Location: http://”.$_SERVER[“HTTP_HOST”].”/$path/”);
exit();
// …
}

However, what I receive is the page entitled “200 OK” and text looking like

OK
The document has moved here.
Apache/1.3.41 Server at example.com Port 80

The link “here” directs to the page specified at Location header.

Is it possible to perform an actual 301/302/whatever redirection?

Thanks.

Update: I noticed that the following headers are actually sent:

HTTP/1.1 200 OK
Date: Mon, 01 Feb 2010 02:46:06 GMT
Server: Apache/1.3.41 (Unix) mod_gzip/1.3.26.1a mod_log_bytes/1.2 mod_bwlimited/1.4 mod_auth_passthrough/1.8 FrontPage/5.0.2.2635 mod_ssl/2.8.31 OpenSSL/0.9.8b
Cache-Control: no-cache
Location: http://example.com/somepath/
Connection: close
Content-Type: text/html; charset=iso-8859-1

Is it possible to completely turn off sending headers from other TP code when exit() is called?

The attempt to redirect is made by placing at the very start of a page template the string

<txp:my_redirect deflan=“ru” />

But even if I make the above string the only content of the default page, the mentioned headers are sent anyway.

An advice is strongly required on how to prevent other headers from being sent.

Last edited by boyandin (2010-02-01 02:51:31)


Om gate gate paragate parasamgate bodhi svaha

Offline

 

2010-03-10 15:01:59

makss
Plugin Author
êta
From: Ukraine
Known languages: ru, ua, en
Website

Re: How to perform 301 redirection from a plugin?

Place your plugin in top your page.
See <txp:aks_301 /> tag in aks_header plugin.


aks_cron : Cron inside Textpattern | aks_article : extended article_custom tag
aks_cache : cache for TxP | aks_meta | aks_header : Compress your pages on the fly

Offline

 

Powered by FluxBB