2014-02-09 79 views
2

我至少在這個問題上忙了24小時,我似乎無法讓這個腳本工作。該腳本根本不重定向。htaccess內部重寫從子域到子目錄路徑

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^m\.skynet\.com$ 
RewriteRule ^/(.*)$ /mobile/final/$1 [L,NC] 

我在做什麼錯?

UPDATE:

RewriteEngine On 

RewriteCond %{HTTP_HOST} ^m\.skynet\.com$ 
RewriteCond %{REQUEST_URI} !^/mobile/final/ 
RewriteRule ^(.*)$ /mobile/final/$1 [L,NC] 

這部分工作,但像m.skynet.com \鏈接的download.php不會重定向

更新:45分鐘後

現在突然起作用。 但URL被在FireFox重寫,而在Chrome它工作正常

UPDATE 似乎與火狐的問題是由我之前使用的301重定向造成的,緩存已經被刷新。它從比賽再度正常

回答

1

刪除斜線工作:

RewriteEngine On 

RewriteCond %{HTTP_HOST} ^m\.skynet\.com$ 
RewriteCond %{REQUEST_URI} !^/mobile/final/ 
RewriteRule ^(.*)$ /mobile/final/$1 [L,NC] 
  • .htaccess是每個目錄指令和Apache從RewriteRule URI模式條的當前目錄路徑(從而導致斜線)。
  • 您需要RewriteCond %{REQUEST_URI} !^/mobile/final/來防止循環。
+0

看來你的解決方案工作部分,當我例如輸入:m.skynet.com/download.php我不明白redirecte頁面目錄 – userX

+0

不知道有什麼特別之處'/ download.php'但這個規則會將其重寫爲'/ mobile/final/download.php' – anubhava