我有一个运行cakephp的站点,并且在同一个根目录中也有一个wordpress站点。我有以下问题。首先向Wordpress提供请求,以便主页的URL将通过wordpress'索引进行路由。现在我们的cakephp代码包含一系列控制器,用于管理我们网站的一些特殊功能。我们有一个重写规则,看起来遵循RewriteCond %{REQUEST_URI} !^/users
。这允许像www.example_site.com/users
这样的网址命中我们的cakephp框架,而不是在wordpress找不到此页面时生成404错误。
此规则绕过wordpress路由,以便将请求发送到cakephp。我们对每个cakephp控制器使用类似的规则。问题是我们曾经有一个拥有用户页面的wordpress插件。此用户页面附加了跟随www.example_site.com/users/some_dudes_username
的URL的参数。这些用户页面的一些链接仍然由谷歌或人们的书签索引,所以发生的是我们写的重写规则导致它们绕过wordpress(而不是像过去那样404),而是在那里打了cakephp和404。我正在考虑如何使它,以便我们的任何cakephp用户控制器功能被正确地重定向到(只有少数所以白色列表似乎是要走的路),但任何其他请求到用户控制器的行动,将不会像www.example_site.com/users/some_dudes_username
重定向到我们的常见问题解答页面那样存在。我有以下白名单代码,似乎有效,但我无法弄清楚如何正确地重定向其他一切:
RewriteCond %{REQUEST_URI} !^/admin/users
RewriteCond %{REQUEST_URI} !^/users/login
RewriteCond %{REQUEST_URI} !^/users/admin_login
RewriteCond %{REQUEST_URI} !^/users/logout
RewriteCond %{REQUEST_URI} !^/users/admin_logout
RewriteCond %{REQUEST_URI} !^/users/admin_index
# Then I need a rewrite rule to take everyone else to the FAQ page.
感谢任何有帮助的人。
答案 0 :(得分:1)
我不确定我是否完全理解您的问题,但听起来您需要这样的RewriteRule
:
RewriteRule ^/users/.*$ /URI/to/faq.html [R]
此规则应该在您的RewriteCond
之后,因为条件仅适用于他们之后的规则。
希望这会有所帮助。