我有一个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
答案 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]