2011-03-16 28 views
0

在Apache Web服務器上,我想創建一個類型化的URL文件夾以匹配另一個文件夾,並將URL字符串的末尾轉換爲匹配文件夾的查詢字符串。將子文件夾重定向到另一個保留查詢字符串

類型化的URL可以是:
http://www.website.net/corp/view/folder1/folder2

而導致瀏覽過的頁面將在內部是:
http://www.website.net/corp/files/?dir=folder1/folder2

我試圖在httpd.conf以下規則: RewriteRule ^/corp/view/(.*) /corp/files/?dir=$1 [L],我也得到一個無限循環,有URL是自我重定向...

感謝您的幫助。

回答

0

使用.+代替.*

RewriteRule ^/corp/view/(.+) /corp/files/?dir=$1 [L] 

.*導致無限遞歸,因爲它也是在/corp/files/末的空字符串相匹配。

+0

我嘗試了你的建議,但它不起作用。 '。+'或'。*'具有相同的效果,我只是發現它發生了什麼:使用IE9中的F12工具,我可以看到'/ corp/view/folder1'被重定向到'/ corp/view/folder1 /index.php/?dir = folder1',到'/corp/view/folder1/index.php/index.php?dir = folder1/index.php',依此類推。 – Velcro 2011-03-16 16:22:58

+0

@Velcro:哦,對不起,我以爲你是在重寫同一個目錄。那麼,有沒有其他規則可能會與這個規則相沖突? – Gumbo 2011-03-16 17:11:54

+0

我有其他規則,但沒有人使用這種模式(我檢查過)。順便說一句,我試圖把一個[R]標誌,重定向是好的。但是,我想獲得一個內部重定向又名URL重寫... – Velcro 2011-03-16 17:45:01

相關問題