Wordpress漂亮永久链接/ w漂亮的查询参数(用于排序)通过ModRewrite

时间:2014-01-30 19:43:23

标签: php wordpress .htaccess mod-rewrite

我目前有wordpress页面,可以通过索引页面(所有帖子)和类别页面查看。

我目前的永久链接结构是'http://www.mysite.com/%postname%/',它很整洁,我想保留。

目前的例子..

主页(帖子列表)    http://www.mysite.com/

类别页面(已过滤的帖子列表 - 按类别过滤)    http://www.mysite.com/categoryname/

任何帖子列表都需要通过以下任何参数进行排序(通过选择用户)......

最旧 - >最新,最新 - >最旧,昂贵 - >最便宜,最便宜 - >昂贵,最高价 - >最低价,最低价 - >最高价

我已经在functions.php中正确处理了所有排序,并从GET参数集中检索。 (最后4个是我已正确排序/处理的自定义元属性)

例子是...... http://www.mysite.com?SortBy=Newest

http://www.mysite.com/categoryname?SortBy=HighestRated

我无法通过ModRewrite获得正确运行的.htaccess文件来实现这一目标....

我希望它们看起来像这些(对于上面的两个例子)

http://www.mysite.com/SortBy/Newest/

http://www.mysite.com/categoryname/SortBy/HighestRated

我的网络服务器在Linux服务器上运行Apache。

我当前的.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

它似乎没有进行我当前的重写操作,但我认为这些是由其他地方的W​​ordpress处理的?

1 个答案:

答案 0 :(得分:0)

使用add_query_arg WordPress功能。 WordPress旨在拒绝任何它无法识别的URL查询参数。您需要告诉WordPress您将通过URL发送的新参数。

参考: http://codex.wordpress.org/Function_Reference/add_query_arg

“检索已修改的URL(带)查询字符串。

您可以使用此功能重建URL并将新查询变量附加到URL查询。您还可以使用查询数据检索完整的URL。“