将GET变量更改为Wordpress中的url路径

时间:2014-10-28 17:18:11

标签: php wordpress .htaccess

我想要一个重写规则,以便能够将GET变量更改为更好的URL。

例如:

example.com?category=news to: example.com/category/news

我还希望保留其他GET变量。

示例:

example.com?category=news&sort=asc to: example.com/category/news&sort=asc

修改需要在wordpress 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]
</IfModule>

# END WordPress

我不想重定向,我只想要更改网址。

更新1

我试过Jon Lin的例子。它有用,但我想先添加一个/ en,我也希望这个类别变得可变。

我尝试了Mod Rewrite Generator,我得到了这个结果,但它不起作用。

RewriteEngine On
RewriteRule ^category/([^/]*)$ /en/?category=$1 [L]

接下来我尝试将两者结合起来,但我不知道问题是什么。

RewriteEngine On

RewriteCond %{THE_REQUEST} \ /(index\.php)?\?/en/category=$1&?([^\ ]*)
RewriteRule ^ /en/category/%1?%2 [L,R]
RewriteRule ^category/([^/]*)$ /en/?category=$1 [L,QSA]

# 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]
</IfModule>

# END WordPress

1 个答案:

答案 0 :(得分:0)

尝试在之前添加这些规则

RewriteEngine On

RewriteCond %{THE_REQUEST} \ /(index\.php)?\?category=news&?([^\ ]*)
RewriteRule ^ /category/news?%2 [L,R]

RewriteRule ^category/news$ /?category=news [L,QSA]