第一次在這裏,我有點mod_rewrite和正則表達式noob,所以請讓我知道如果我錯過了什麼。我在這裏和其他地方搜索了一整天,但沒有找到我所需要的。mod_rewrite:刪除www和重定向到文件夾,如果尚未在URL
我在尋找一套RewriteConds和的RewriteRules的,將完成以下任務:
- 去除WWW,如果出現在URL
- 重定向到一個文件夾中,在URL 如果不存在
- 保存URL
我已經安裝在特定的子文件夾一個Web應用程序的其餘部分(我們稱之爲/ web應用程序),它被配置爲要求沒有www的網址。如果他們包含www,它會給用戶帶來一個愚蠢的煩人信息。我可以深入該應用程序並對其進行重新編程,但我希望通過.htaccess和mod_rewrite爲用戶處理該問題,並且同時將它們轉儲到該文件夾中,如果他們忘記鍵入它,則使用301重定向執行所有操作。
例如,我想任何下列要求
http://www.mydomain.org/webapp/anything
http://www.mydomain.org/anything
http://mydomain.org/anything
被重定向到
http://mydomain.org/webapp/anything
很顯然,如果一個「正確」的網址(一個開始http://mydomain.org/webapp/
)要求的,它不會被重寫。
我最好的猜測到目前爲止如下:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.mydomain\.org$ [NC]
RewriteRule ^(.*)$ http://mydomain.org/$1 [R=302]
RewriteCond %{REQUEST_URI} !^/webapp.*$ [NC]
RewriteRule ^(.*)$ http://mydomain.org/webapp/$1 [R=302]
這似乎根據http://htaccess.madewithlove.be/但在實踐中工作,沒有這麼多。
在此先感謝。
沒有骰子。留下'http://'部分意味着'www.mydomain.org'重定向到'www.mydomain.org/home/accountname/webapp/'。 'mydomain.org'顯示index.html文件,'mydomain.org/wrongpath'給404錯誤路徑。 – joshdutcher