.htaccess重写包含子文件夹的规则

时间:2013-07-18 16:54:30

标签: .htaccess url-rewriting

这是我正在尝试做的事情。

我在我的网站上运行了2个应用,一个位于根/,另一个位于/blog/

我希望能够访问博客应用程序提供的某些页面,但URL中没有/ blog / part。这一点我设法做了以下规则。

RewriteRule my-page blog/index\.php?page_id=1 [L]

这样我就可以/blog/my-page /my-page查看实际位于/blog/my-page 的页面。

现在我正在努力确保没有重复的网址,所以我正在尝试重定向到我的短网址。像这样:

自:

/my-page

要:

/blog/index.php?page_id=1

自:

/my-page

要:

/index.php?page_id=1

使用以下规则,我可以从/my-page重定向到RewriteCond %{QUERY_STRING} ^page_id=1$ RewriteRule index\.php$ my-page? [R=301,L]

blog

在此规则发生后,我提到的第一条规则将其带到了正确的位置。

我的问题是:

如何使用#RewriteCond %{QUERY_STRING} ^page_id=1$ RewriteRule ^blog/index\.php$ my-page? [R=301,L] 作为网址的一部分。我希望下面的内容可以正常工作,但它没有

{{1}}

1 个答案:

答案 0 :(得分:2)

这不起作用的原因是因为.htaccess目录中有/blog/个文件。

这包括一条规则,它可以捕获任何内容并路由到blog/index.php

将我的规则移至/blog/.htaccess可让他们正常运作