重写规则不起作用

时间:2014-03-30 07:31:31

标签: php .htaccess

请让我知道我的htaccess重写规则对于php文件有什么问题。

 #Options +FollowSymLinks
 # RewriteEngine On
 # RewriteCond %{HTTP_HOST} mydomain.com$ [NC]
 # RewriteCond %{HTTP_HOST} !cosa
 # RewriteCond %{HTTP_HOST} !schools
 # RewriteRule ^(.*)$ http://mydomain.com/cosa/$1 [R=301,L]

在上面,我将我的网站转移到名为cosa的新文件夹,我想将所有链接重定向到它但不是“学校”

我把两个放了!声明一个cosa本身,以避免页面重定向本身和其他文件夹称为学校。

当我运行这个时,就像mydomain.com/schools一样,它转发到mydomain.com/cosa/schools

我想要的是

If type mydomain.com/abc shall goes to mydomain.com/cosa/abc
If type mydomain.com/xyz shall goes to mydomain.com/cosa/xyz
If type mydomain.com/news shall goes to mydomain.com/cosa/news
If type mydomain.com/events shall goes to mydomain.com/cosa/events

但是当进入像

这样的学校时
If type mydomain.com/schools it should be same mydomain.com/schools

请告诉我代码中的问题在哪里

1 个答案:

答案 0 :(得分:0)

更改以下内容:

RewriteCond %{HTTP_HOST} !cosa
RewriteCond %{HTTP_HOST} !schools

为:

RewriteCond %{REQUEST_URI} !^/cosa
RewriteCond %{REQUEST_URI} !^/schools