WordPress覆盖HTACCESS中设置的GET变量(page_id

时间:2010-09-06 作者:beseku

我有一个wordpress网站,它非常大,将wordpress推向了极限。它使用了许多页面/类别和许多。htaccess规则,用于组织网站的各个部分(针对大型杂志)。

有一个特别的问题让我很困惑。我有以下规则。htaccess。。。

RewriteRule ^(cat|tag)/([^\\/]+)(/?)$ index.php?page_id=3&s1=$2 [L,QSA]
RewriteRule ^xyz/([^\\/]+)(/?)$ index.php?page_id=6&s1=$1 [L,QSA]
现在,如果提供给cat/tag页的参数没有尾部斜杠,那么它总是有效的。如果参数后面有斜杠,and 所讨论的标记与使用“xyz”页面的非Wordpress表中的条目相匹配,Wordpress将加载该页面,即使标记存在。

我已经测试过,规则总是有效的,而且确实有效。Wordpress总是得到正确的$\\u GET[\'page\']共3页,标记slug为$\\u GET[\'s1\'],但如果上述情况属实,则决定显示一个完全不同的页面。

一切都是在内部完成的。htaccess、wordpress中的永久链接已完全关闭。如何阻止WP表单根据其被告知要使用的page\\u id进行决策。

1 个回复
SO网友:MikeSchinkel

WordPress的URL路由很难使用。我期待着有一天它被更合理的东西所取代(我希望我能成为编写代码来取代它的人,但我跑题了……)

然而,我认为你的第一个问题是试图在.htaccess. 我可能比我认识的任何人都有更多的URL设计和URL重写经验,我真的不会与WordPress对抗.htaccess; 你很可能只会得到目前让你疯狂的结果。相反,我会尝试从WordPress内部管理URL路由,并在需要覆盖WordPress所做的事情时使用挂钩。

然而,为了让我完全理解您试图实现的目标,并制定一个适当的解决方案,我希望看到您网站上的URL和您想要的URL的完整地图。

最后,我链接了一些相关的Q&;如下。他们并没有直接回答你的问题,但他们可能会给你一些见解,最后一个是关于为高流量扩展WordPress。

结束

相关推荐

Security and .htaccess

大约一个月前,我在一个与爱好相关的托管服务器上创建了一个WordPress博客。所以,我目前还不熟悉这一点。由于我担心安全性,我做的一件事就是安装插件WP安全扫描。根据插件结果,我的网站会被检查出来,但我在结果中看到的是一个红旗:文件。wp admin中不存在htaccess/(我在那里ssh了,它不存在)好的,所以我在这个问题上做了大量的搜索,找到了太多的信息。htaccess。我在WordPress上经历了强化WordPress。org网站等,也遇到了这篇文章:http://digwp.com/201