2010-06-21 219 views
1

我想創建一個乾淨的網址,比如說,比方說,我有一個網站www.mywebsite.com,我想,如果有人試圖http://www.mywebsite.com/something,他應該重定向到www.mywebsite.com,.htaccess重定向

使得輸入的任何事情提前mywebsite.com/他們應該重定向到www.mywebsite.com

我怎麼能在.htaccess做到這一點,請幫助。

+0

只有當「某些東西」不存在才能重定向,或者您打算沒有子內容時,您是否只想要? – 2010-06-21 15:26:39

+0

不,我想要的,如果你嘗試訪問http://www.mywebsite.com/anything,它應該去http://www.mywebsite.com 應該沒有任何提前http:// www.mywebsite.com/ 該網址應該是乾淨的,在地址欄中應該只顯示http://www.mywebsite.com – Suhail 2010-06-21 15:30:45

+0

然後堅持Matt的回答。 – 2010-06-21 15:37:25

回答

1
RewriteEngine ON 
RewriteRule ^/.+/[L,R] 

這會將所有內容重定向到/作爲永久重定向。請查看http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html以獲取有關可以爲透明度等添加的標誌的更多信息。

如果要在.htaccess中使用此功能,請確保在<VirtualHost >配置中具有正確的覆蓋指令。

+0

嘿馬特,我試過,但它不工作。 – Suhail 2010-06-22 06:04:24

+0

我在我的虛擬主機設置下列指令: 有FollowSymLinks 的AllowOverride無 這是正確的? – Suhail 2010-06-22 06:09:19

+0

將'AllowOverride'改爲'All',試試 – 2010-06-22 13:31:55

0

如果你只想重定向,如果有文件和目錄不已經存在,那麼這將工作:

RewriteEngine ON 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^/.+/[R,L] 

如果你不想有子訪問的內容,然後刪除的條件規則

RewriteEngine ON 
RewriteRule ^/.+/[R,L] 
+0

你需要'R'標誌;否則,它對用戶是透明的。 – 2010-06-21 15:33:14

+0

不,這不起作用 – Suhail 2010-06-21 15:34:51

+0

同意的阿爾瓦羅,謝謝。 – 2010-06-21 15:36:43