我正在使用默认的.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中才能实现这个目标?
谢谢!
答案 0 :(得分:1)
尝试以下方法:
RewriteRule ^mypage/([^/])/?$ mypage?word=$1 [L,QSA]
L标志指示.htaccess停止处理规则,QSA附加查询字符串,因为您可能在URL的末尾有其他GET参数。