0

我正在使用默认的 .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会显示“狗”。

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

一开始我对 mod_rewrite 规则不太了解,但是从 wordpress 安装中工作给我带来了额外的曲线球。

有谁知道我需要添加到我的 .htaccess 来实现这一点?

谢谢!

4

1 回答 1

1

尝试以下操作:

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

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

Mod_Rewrite 文档

于 2012-06-10T01:21:29.457 回答