在Wordpress博客页面中使用mod_rewrite作为GET变量

时间:2012-06-10 00:22:25

标签: wordpress .htaccess mod-rewrite

我正在使用默认的.htaccess设置在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>

在我的wordpress博客中,我创建了一个名为“mypage”的页面。使用我的重写设置,它在地址栏中显示为http://www.mysite.com/mypage

我正在使用自定义页面模板并处理一些事情,包括使用GET变量。例如:

if (isset($_GET='word')) { echo $_GET['word]; }

因此,http://www.mysite.com/mypage?word=dog将显示“dog”。

我遇到的问题是重写网址,使其看起来像:http://www.mysite.com/mypage/dog,仍然可以作为GET变量访问“dog”。

开始时我对mod_rewrite规则不太满意,但是在wordpress安装中工作会给我一个额外的曲线球。

有没有人知道我需要添加到我的.htaccess中才能实现这个目标?

谢谢!

1 个答案:

答案 0 :(得分:1)

尝试以下方法:

RewriteRule ^mypage/([^/])/?$ mypage?word=$1 [L,QSA]

L标志指示.htaccess停止处理规则,QSA附加查询字符串,因为您可能在URL的末尾有其他GET参数。

Mod_Rewrite Documentation