Wie kann ich Schrägstriche für einige URLs ohne Umleitung zulassen, aber nicht für andere?

Hier ist das Szenario.

Angenommen, ich habe eine Website, wordpress.site, die die folgende Permalink-Struktur hat: /%postname%

Angenommen, ich habe dann die folgenden Posts eingerichtet:

  • / post1
  • / post2
  • / post3

Wenn jemand “wordpress.site/post1/” (extra Schrägstrich) eingibt, wird WordPress den Benutzer 301 automatisch zu “wordpress.site/post1” redirect.

So weit, ist es gut.

Aber jetzt stellen wir uns vor, dass es eine alte URL “/ post4 /” gibt, und aus SEO-Gründen möchte ich einen Beitrag für diese URL erstellen und den Schrägstrich beibehalten?

Mit anderen Worten:

  • Der Aufruf von wordpress.site/post4/ leitet jedoch nicht auf wordpress.site/post4 um
  • Rufen Sie wordpress.site/post4 auf und leiten Sie zu wordpress.site/post4/ und
  • Aufruf von wordpress.site/post1 wird nicht umgeleitet, aber
  • Der Aufruf von wordpress.site/post1/ würde zu wordpress.site/post1 redirect

Wie würde ich das erreichen?

Ich habe versucht, dies mit add_rewrite_rule () zu tun, konnte aber anscheinend nicht erreichen, was ich wollte (ich wurde immer noch umgeleitet, und ja, ich habe die Umschreibregeln gelöscht). Beispielcode:

 add_action( 'init', 'my_rewrite_func' ); function my_rewrite_func() { add_rewrite_rule( 'post4/$', 'index.php?p=12', 'top' ); } 

Irgendwelche Vorschläge?

Solutions Collecting From Web of "Wie kann ich Schrägstriche für einige URLs ohne Umleitung zulassen, aber nicht für andere?"

Benutze flush_rewrite_rules () :

 add_action( 'init', 'my_rewrite_func' ); function my_rewrite_func() { add_rewrite_rule( 'post4/$', 'index.php?p=12', 'top' ); flush_rewrite_rules(); } 

und / oder welche Umschreiberegeln Sie auch verwenden, Sie könnten immer /? für optionale Schrägstriche oder erzwingen Sie den Schrägstrich, wenn Sie möchten, dass er immer da ist.

Ich habe es nicht benutzt, aber ich habe eine Menge über dieses Plugin gehört, http://wordpress.org/extend/plugins/redirection/ welches genau für diese Art von Situation ist. Ich möchte kein Plugin verwenden, vielleicht kann eine Menge im Quellcode zu einer Lösung führen.