RewriteRule为站点根目录中的htaccess

时间:2014-01-22 09:05:54

标签: regex apache .htaccess mod-rewrite

我想在某些文件夹(/ blog)中将所有URL重写为某个文件(/blog/post.php),除了几个文件(当然是/blog/post.php和目录/博客的根目录) /index.php或/ blog /)。因此我有这个:

RewriteRule ^blog/index.php - [L]

RewriteRule ^blog/post.php - [L]

RewriteRule ^blog/(.*) /blog/post.php [L,QSA]

预期结果是除index.php和post.php之外的所有URL都被重写为post.php 问题是如果我把它放在站点根目录的.htaccess中,当你只输入website.com/blog/时它会重写到page.php,而website.com / blog / index.php却没有。 如果我将相同的代码放在博客文件夹中的.htaccess文件中(但每行中没有“博客”一词),它会按预期/需要的方式工作。

我很抱歉另一个RewriteRule问题,但它是一个我无法找到的具体示例/问题,如果有人有任何提示,我将非常感激。

1 个答案:

答案 0 :(得分:1)

让您的单一规则如下:

RewriteCond %{REQUEST_URI} !/blog/(index|post)\.php$ [NC]
RewriteRule ^blog/(.+)$ /blog/post.php [L]