2014-03-30 126 views
1

請讓我知道我的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 
進入學校

請讓我知道代碼中的問題在哪裏

回答

0

更改以下內容:

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

到:

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

WOOW ...作品excatly因爲我需要......你能不能也請告訴我怎麼去根索引頁。如果我輸入www.mydomain.com,我需要訪問www.mydomain.com/index.php – user3477550

+0

@ user3477550'%{REQUEST_URI}!^ /'和'%{REQUEST_URI}!^/index.php' – hjpotter92

+0

其工作方式但以前的規則是顯示文件沒有找到像如果類型mydomain.com/abc將去mydomain.com/cosa/abc但它顯示404文件未找到。 – user3477550