首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >wordpress mod_rewrite主题重定向

wordpress mod_rewrite主题重定向
EN

Stack Overflow用户
提问于 2010-09-14 06:18:57
回答 1查看 288关注 0票数 1

我有一个插件“主题我的登录”为WordPress 3.0.1,这会导致我的用户的个人资料页面在这里:

domain.com/login-2?action=profile

而不是这里:

domain.com/profile

因此,我尝试使用mod_rewrite修复它,如下所示:

RewriteRule ^profile /login-2?action=profile

但它似乎什么也做不了。我怀疑这是在WordPress中发生的一些奇怪的事情,但在我深入研究之前,我想问问这里的人们,我的重写规则看起来是否正确。我做得对吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-15 12:23:32

默认情况下,我相信WordPress在路由请求时会使用REQUEST_URI的值。你的规则

代码语言:javascript
复制
RewriteRule ^profile /login-2?action=profile

...should正确地将/profile重写为/login-2?action-profile,但是WordPress不会观察到这种变化,因为PHP中$_SERVER[REQUEST_URI]的值是基于发送到服务器的原始请求的。

可以通过修改默认的PATH_INFO固定链接块让WordPress使用WordPress来解决此问题:

代码语言:javascript
复制
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*$ index.php/$0

还可以使用P flag代理重写的请求,这将更新REQUEST_URI。它带来了创建新请求的开销,所以我不确定我是否会推荐它:

代码语言:javascript
复制
RewriteRule ^profile /login-2?action=profile [P]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3704846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档