从Wordpress URL中删除URL参数

时间:2015-08-13 17:04:37

标签: wordpress .htaccess

我有一个wordpress网站使用"帖子名称"永久链接设置。

我还在我的网站中设置了一个带有URL变量的链接:

http://www.xxxxxxxxxx.com/test/?location=London

我想将此网址修改为http://www.xxxxxxxxxx.com/test/London

但它为其他wordpress网站搞砸了htaccess

我尝试过以下htaccess:

# 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]
//remove location name
RewriteRule ^([a-zA-Z0-9_-]+)$ /test/?location=$1
</IfModule>
# END WordPress

1 个答案:

答案 0 :(得分:0)

我知道有两种方法可以实现它:

RewriteCond %{QUERY_STRING}    "location=" [NC]
RewriteRule (.*)  /test/$1? [R=301,L]

要确保删除查询,您需要移动RewriteBase /下面的代码行。所以它看起来像:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING}    "location=" [NC]
RewriteRule (.*)  /test/$1? [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

您还可以使用简化的重写规则删除查询

RewriteCond %{QUERY_STRING} .
RewriteRule ^$ /location? [R,L]