2016-04-26 14 views
1

Wir haben eine Wordpress 4.x Website mit einigen Plugin, die die Verfügbarkeit von Räumen zu überprüfen. Jetzt haben wir eine URL wie folgt aus:Ändern Wert in URL als Umleitung mit. Htaccess

http://www.pluto.com/en/check-availability/?lang=en&param1=val1&param2=value2&param3=value3&param4 = 838 & param5 = value5 & param6 = value6

Wir param4 = 838 mit param4 ändern möchten = 631 als auf die neue Seite umgeleitet:

http://www.pluto.com/en/check-availability/?lang=en&param1=val1&param2=value2&param3=value3&param4 = 631 & param5 = value5 & param6 = value6

Wir wollen dies mit .htaccess tun. Wie können wir das machen?

+0

Haben Sie URL in Browser ändern möchten auch mit 'param4 = 631'? – anubhava

+0

Ja: Es ist genau mein Ziel. –

Antwort

1

Platz diese Regel knapp unter RewriteEngine On Linie:

RewriteEngine On 

RewriteCond %{THE_REQUEST} \?(.*&)?param4=838(&\S*)?\sHTTP [NC] 
RewriteRule ^en/check-availability/?$ %{REQUEST_URI}?%1param4=631%2 [R=302,NE,L] 
+1

Danke für Ihre Antwort: Es funktioniert wie ein Charme. Sie, Herr, sind ein Genius <3 –

1

Der folgende permalink Rewrite-Code sollte in der .htaccess Datei

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
# END WordPress 

Und wenn Sie möchten, enthalten sein werden Argumente in URL übergeben. Nehmen Sie dieses Beispiel und freundlich gehen durch den untenstehenden Link vollständig

add_filter('rewrite_rules_array','my_insert_rewrite_rules'); 
add_filter('query_vars','my_insert_query_vars'); 
add_action('wp_loaded','my_flush_rules'); 

// flush_rules() if our rules are not yet included 
    function my_flush_rules(){ 
    $rules = get_option('rewrite_rules'); 

    if (! isset($rules['(project)/(\d*)$'])) { 
     global $wp_rewrite; 
     $wp_rewrite->flush_rules(); 
    } 
    } 

// Adding a new rule 
    function my_insert_rewrite_rules($rules) 
{ 
    $newrules = array(); 
     $newrules['(project)/(\d*)$'] = 'index.php pagename=$matches[1]&id=$matches[2]'; 
    return $newrules + $rules; 
} 

// Adding the id var so that WP recognizes it 
    function my_insert_query_vars($vars) 
{ 
    array_push($vars, 'id'); 
    return $vars; 
    } 

link here