简单的搜索引擎优化友好的自定义$_get URL重写与htaccess

时间:2014-03-04 作者:swordsecurity

我有以下url:

http://sitename.com/?game=runescape
是否可以通过Wordpress修改htaccess文件或重写url,使其如下所示:

http://sitename.com/game/runescape

2 个回复
SO网友:Milo

首先,添加一个名为game 将请求定向到。

接下来,添加game 查询变量以便WordPress知道它是什么:

add_filter( \'query_vars\', \'wpa_query_vars\' );
function wpa_query_vars( $query_vars ){
    $query_vars[] = \'game\';
    return $query_vars;
}
然后,添加重写规则来处理传入的请求并将其定向到您的页面:

add_action( \'init\', \'wpa_add_game_rule\' );  
function wpa_add_game_rule() {   
    add_rewrite_rule(  
        \'game/([^/]+)/?\',
        \'index.php?pagename=game&game=$matches[1]\',
        \'top\'
    );   
}
最后,创建一个名为page-game.php 和添加get_query_var( \'game\' ) 查看请求的游戏。

SO网友:fischi

只需转到“Settings”=>“Permalinks”,然后选中“Post Name”选项。

WordPress为您处理其余部分。如果game 是自定义帖子类型,无需执行任何其他操作。

编辑:正如你提到的game 是WordPress之外的脚本,此问题超出此社区的范围。

结束

相关推荐

WordPress-admin-ajax.php返回502错误的网关

我得到一个502错误的wp-admin/admin-ajax网关。php——这是一个WP站点,托管在Web派系上,使用nginx。最明显的情况是在添加新帖子或页面时,单击“插入媒体”,库中不会显示任何内容。检查器控制台中充满了以下内容:POST http://lightuphope.org/wp-admin/admin-ajax.php 502 (Bad Gateway) load-scripts.php?c=1&load%5B%5D=jquery-core,jquery-migrate,jque