如果我們的.htaccess文件純粹是用於模式重寫,那麼在存儲庫中的其他文件中提交.htaccess文件是否存在安全/開發缺陷?在svn/git存儲庫中使用.htaccess文件有一個主要缺點嗎?
由於各種原因(我們的SEO優化人員喜歡在新促銷發生時添加漂亮的網址等),因此我們需要在這些文件中提供適當的重寫規則。我會更好地將路由引入到php-land並在那裏處理它?或者通過apache讀取.htaccess文件?
.htaccess文件不通過Web服務器公開,所以這不是安全風險。
如果我們的.htaccess文件純粹是用於模式重寫,那麼在存儲庫中的其他文件中提交.htaccess文件是否存在安全/開發缺陷?在svn/git存儲庫中使用.htaccess文件有一個主要缺點嗎?
由於各種原因(我們的SEO優化人員喜歡在新促銷發生時添加漂亮的網址等),因此我們需要在這些文件中提供適當的重寫規則。我會更好地將路由引入到php-land並在那裏處理它?或者通過apache讀取.htaccess文件?
.htaccess文件不通過Web服務器公開,所以這不是安全風險。
據我記得,一旦你使用一個.htaccess文件,你已經同意付出代價,那個價格是apache會遍佈整個地方,每個請求,.htaccess文件。但這是一個性能問題。
我認爲你理想的解決方案是不使用.htaccess文件,但在httpd.conf中設置這些規則。 PHP在重定向方面並不比Apache更好,所以沒有幫助。這是性能答案。然而,開發感覺最好,然後生產將規則移入服務器核心。
至於版本控制,如果它是一個充滿文本的文件,這是代碼需要的,那麼是的,我會把它放到版本控制中。事實上,我現在會這樣做。如果許多人在自己的重定向規則中添加了.htaccess文件,您將希望能夠:
的.htaccess mod_rewrite的是waaaaaay速度比在PHP端路由的事情,我會用mod_rewrite的堅持爲URL處理
這是*略*比這更復雜 - 我們有一個CMS其寫入重寫規則進入.htaccess文件 - 這是爲了讓SEO人員可以添加漂亮的網址。可能是一個糟糕的業務流程,但它是目前如何完成的......所以這可能會排除httpd.conf 通過php進行路由是大多數框架現在如何執行的,即。通過通用的全部重寫,然後根據php規則確定正確的路由。 (即codeigniters'routes.php') – Rob 2010-05-17 02:12:11