2013-06-27 94 views
0

我放在/dashboard/.htaccess這個重寫規則[儀表板實際上是一個文件夾]:的.htaccess不工作

RewriteRule ^([^/]*)$ index.php?mode=$1 [L] 

我的結構的index.php模式=支持? ,雖然,$ _ SERVER [「QUERY_STRING」]輸出這樣的:

mode=index.php 

Example: site.com/dashboard/index.php?mode=support should be site.com/dashboard/support 

所以,我怎樣才能讓它在解析參數值的方式,而不是文件本身。

+0

據我所知.htaccess應該在根文件夾 – Ani

+0

@Ani .htaccess可以在任何文件夾 – exussum

回答

0

您的規則匹配任何以不斜線開始,犯規包含斜槓的任何地方,當你的實際路徑是

/dashboard/support 

得到你真正想要的文件夾,你需要在底座上有這樣

RewriteBase /dashboard/ 

如果放在上面的規則,那麼你的重定向應該沒問題

+0

我把這放在規則上面,結果是一樣的。我使用了generateit.net/mod-rewrite/來從site.com/dashboard/index.php?mode=news獲取重寫規則到site.com/dashboard/news,但它仍然具有相同的效果。查詢字符串$ 1仍然將'index.php'作爲值。 – Eduard

1

設法解決它,而這樣做對正則表達式進行更多的研究。

RewriteRule ^([a-z]+)$ index.php?mode=$1 [L,QSA] 

這個問題解決了我的問題,首選加上代替星號,因爲它告訴引擎重複零次或多次。 (當我在index.php,查詢字符串是空的根據需要)