Ich stehe vor Schwierigkeiten, die Schlüsselwörter auf die Suchseite in einem WordPress 4.4 Setup umzuleiten. Was ich versuche zu erreichen, ist umschreiben / redirect
www.site.com/**search+keyword.html***
zu
www.site.com/**?s=search+keyword&submit=Search
Ich habe versucht, jede Lösung in Google gefunden, aber keine funktioniert mit dieser Version.
.htaccess Datei:
RewriteEngine On RewriteBase /wordpress/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /wordpress/index.php [L] RewriteRule ([^/]+)\.html$ ./?s=$1 [L]
Ich kann WordPress suchen mit: http://localhost/wordpress/search/keyword
, aber ich kann die Such-URL nicht ändern.
Was ich brauche, ist eine Suche zu starten, wenn ein Schlüsselwort gefolgt von einem .html
in der URL vorhanden ist. Wie kann ich das schaffen?
Berühren Sie nicht die .htaccess-Datei, es gibt dieses nette Tool add_rewrite_rule()
das Sie in init
einhängen sollten:
add_action('init', function() { add_rewrite_rule( 'search+([^/]+).html$', 'index.php?my_custom_search=1&s=$matches[1]&submit=Search', 'top' ); });
Gleich danach sollten Sie die Rewrite-Regeln einmal spülen (indem Sie die Permalink-Einstellungen unter Einstellungen> Permalinks oder mit flush_rewrite_rules()
, aber diese function nur einmal und bei Bedarf aufrufen).
Dies sollte www.site.com/search+keyword.html
Suchergebnisse als www.site.com/?s=search+keyword&submit=Search