简体   繁体   中英

Wordpress url rewriting

I have a problem concerning url-rewriting in wordpress. I am currently working on a language plugin (nearly finished also) and as a last thing, I would like to see every url altered so that it contains the current language that has been selected by the user (or a default language if the user hasn't changed the language).

I don't have a problem altering the links, the problem lies with the rewriting done by the server. Below you can find how I change the links.

public function register_filters()
{
    add_filter('page_link', array(get_class(),'alter_permalink'));
    add_filter('post_link', array(get_class(),'alter_permalink'));
}

public function alter_permalink($permalink) 
{
    $permalink = str_replace(get_option('home'), '', $permalink);
    $permalink = trim($permalink, '/');

    //The next line is actually a method that is being called, 
    //but it will return a string like this.            
    $lang = 'EN'; 


    return get_option('home') . '/' . $lang . '/' . $permalink;

    //This returns a link that looks something like this:
    //http://somedomain.com/EN/permalink-structure
}

So as you can see, I have no problems creating the links, the problem lies with the url-rewriting on the server itself.

I have tried this method: http://shibashake.com/wordpress-theme/wordpress-permalink-add but I didn't get that one to work either. The problem is that I just don't seem to understand how these rewriting-rules work and that I can't seem to find a decent tutorial on the subject either.

Any help would be greatly appreciated.

the filter to listen to for handling url is request .

function request_handler($vars) {
    //modified $vars here

    return $vars;
}
add_filter('request', 'request_handler', 11);

i have written a plugin for customize url in wp. check out the source and see how i handle it. http://wordpress.org/extend/plugins/auto-url/

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM