2016-12-15 7 views
0

Ich habe Probleme mit mod_rewrite und kann nicht scheinen, es zu beheben. Ich versuche, die folgenden Dinge zu tun:?Wordpress> htaccess> benutzerdefinierte Suche URL

  1. die Standard-Redirect/s = Suchbegriffs zoeken/Suchbegriffs für anwenderfreundliche Urls
  2. Interne Rewrite/Passtrough zoeken/Suche -term -> Suche/Suchbegriffs, so die uRL zoeken bleibt/Suchbegriffs

Könnten Sie mir einige Hinweise oder Ratschläge geben?

.htaccess

# basics 
<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase /project/project.nl/ 
</IfModule> 

<IfModule mod_rewrite.c> 
    # 
    # ?s=term -> zoeken/term 
    # wordpress has permalink search for searching 
    # 
    RewriteCond %{QUERY_STRING} \\?s=([^&]+) [NC] 
    RewriteRule ^$ zoeken/%1/? [NC,R,L] 

    # Internal rewrite zoeken -> search 
    # 
    RewriteRule project/project.nl/zoeken/(.+)$ search/$1/? [NC,PT,L] 
</IfModule> 

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

Was soll passieren, wenn ich nach 'some/test' suche? – Gerrit0

+0

Ihr Beispiel würde vom letzten Block (#begin wordpress - #end wordpress) aufgenommen und von index.php verarbeitet werden – Peer

Antwort

0

Probleme waren in führenden Schrägstrich und nicht das Hinzufügen index.php und L Flagge zu führen. Hier ist die Lösung:

RewriteCond %{QUERY_STRING} \\?s=([^&]+) [NC] 
RewriteRule ^$ search/%1? [NC,L,R] 

# Rewrite localized search url -> search/term 
# 
RewriteRule ^zoeken/(.+)$ index.php/search/$1 [NC,L]