1

我的普通旧 php 应用程序面临一个(可能)非常简单的问题。我有一个目录结构简单的网站:

www.domain.com
  /blog
  /some_subdirectory
  /some_other_subdirectory

每次他访问我的应用程序中的任何文件夹/任何文件时,我都想将用户重定向到 /blog 目录,除非他已经在该 /blog 目录中。

我在 .htaccess 文件中提出了以下代码段:

Redirect 302 / http://www.domain.com/blog

但是当然,如​​果在 /blog 目录内,这也会重定向,从而导致无限循环重定向到不存在的更深的 /blog 目录。

如何从该重定向语句中排除 /blog 目录?

4

2 回答 2

2

要排除文件夹,您应该使用 mod_rewrite。你可以试试这个:

Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI}  !/blog     [NC]
RewriteRule  ^(.*) /blog/$  [L,NC]
于 2013-04-08T23:35:56.847 回答
1

请改用 mod_rewrite,因为您可以创建否定条件:

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/blog
RewriteRule ^(.*)$ /blog/$1 [L,R]

当然,这会改变浏览器 URL 地址栏中的内容。如果您不希望栏更改,则只需,R从方括号中删除标志。

于 2013-04-08T23:35:52.910 回答