【发布时间】:2015-01-15 18:54:38
【问题描述】:
在一个网站上,我有一个 .htaccess 文件设置,用于设置有关重写 url 的规则。我所有的内容页面都是动态生成的,所以只有一个文件content.php,它基本上是根据查询参数生成页面的。然后根据主导航确定网站的链接结构。
所以在 content.php 上,它通过查看 URL 从数据库中提取页面。在幕后,URL 基本上是这样的:
www.website.com/content.php?page=my-page
但是使用重写,url 实际显示和显示如下:
www.website.com/my-page/
这很好用,除了我遇到的一个问题。您几乎可以在 /my-page/ 之前添加您想要的任何目录,并且 /my-page/ 的内容仍然会显示。例如:
www.website.com/test1/test2/test3/my-page/
显示与以下内容相同的内容:
www.website.com/my-page/
如果我想使用的实际链接是:www.website.com/section/my-page/ 如何将任何以 /my-page/ 结尾的请求重定向到 www.website.come/section/my-page/
我尝试过使用以下方法,但最终以无限循环结束
RewriteRule (.*)/my-page/?$ http://www.website.com/section/my-page/ [L,R=301]
【问题讨论】:
标签: apache .htaccess mod-rewrite redirect