2012-12-14 119 views
0

在我的根文件夾中,我有一個.htaccess文件,它將URL重定向到子文件夾,如下所示。此文件夾包含即將推出頁:htacess重寫子文件夾爲根

RewriteCond %{HTTP_HOST} ^(www.)?myotherurl.com$ 
RewriteRule ^(/)?$ test [L] 

當這個規則應用,我得到以下網址:http://myotherurl.com/test/

現在我想重寫(不定向)所示網址http://myotherurl.com通過創建嵌套.htaccess。這個文件應該包含什麼?

回答

0

試試這個:

RewriteCond %{HTTP_HOST} ^(www\.)?myotherurl.com$ 
RewriteRule ^/?(.*)$ test/$1 [L] 

這使得一切到目標目錄。在你的情況下,你錯過了掩飾點。這並不在這種情況下重要,但它也將匹配域wwwamyotheeurl.com

如果你只有一個靜態頁面,你也可以使用這樣的規則:

RewriteRule^test/index.html [L] 
+0

感謝您的回答@rekire。有了您的解決方案,我仍然可以取得myotherurl.com/test而不是myotherurl.com – adlenesifi

+0

您是否嘗試過我的第一個,第二個或兩個規則? – rekire

+0

Hi @@ rekire。我已經嘗試了第一個。謝謝 – adlenesifi

0

如果我理解正確的,你可以試試這個:

RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} ^(www\.)?myotherurl.com$ 
#Prevent loop 
RewriteCond %{REQUEST_URI} !/test 
RewriteRule ^(.*)/?$ test/$1 [R,L] 

#Check the URI 
RewriteCond %{REQUEST_URI} /test 
#Keep the original URL as resource 
RewriteRule .* http://myotherurl.com [L] 
+0

感謝您的回覆@ felipe-alameda-a。我已經在我的子文件夾(測試)的.htaccess文件中嘗試了這一點,它的工作。我應該把它放在我的根.htaccess文件夾或我的測試子文件夾中嗎?謝謝 – adlenesifi

+0

當然。 RewriteBase是'/'(根),因此.htaccess文件必須位於根目錄下。嘗試按照原樣測試規則,然後根據需要根據.htaccess文件位置修改RewriteBase。 –

+0

我再次解釋一下自己: 我有一個域名重定向到一個名爲子文件夾的子文件夾,如下所示。這工作得很好: 的RewriteCond%{HTTP_HOST} ^(WWW)mydomain.com $ 重寫規則^(/)$的子文件夾[L] 有了這個的.htaccess我得到以下網址:??mydomain.com/子 我想要的是從URL中刪除子文件夾,如下所示:mydomain.com – adlenesifi