我有一個非常基本的雙頁網站:主頁和關於頁面。我正在試圖做的是使用的htaccess重寫URL,這樣的表現爲:htaccess中的別名,並阻止訪問原始文件? (URL重寫)
- domain.com/(在主頁)
- domain.com/about(用於關於頁面)
在網站的實際文件夾結構中,主頁是/index.php,關於頁面是/about.php(都出現在根目錄中)。
我一直在研究使用別名,但不幸的是我的主機(Dreamhost)不允許訪問httpd.config,因此不在窗口中,而是在htaccess文件中使用重寫規則。
由於index.php文件會自動顯示在域根目錄(http://domain.com/)中,所以我至今設法使關於頁面正確顯示在domain.com/about使用這些行:
RewriteEngine On
RewriteRule ^about$ /about.php
我還使用301重定向,以便例如,domain.com/about/(與結尾的斜線)還指示回/約URL是這樣的:
Redirect 301 /about/ http://domain.com/about
這很好。
然而在index.php和about.php文件仍然還顯示,如果你去到正確的網址瀏覽器中(例如:domain.com/about.php),從而導致搜索引擎查看(並索引)每個頁面的兩個版本!我已經在每個頁面中設置了正確的規範化元數據,但這似乎沒有任何效果(規範元數據自網站上線以來一直在頁面標記內)。
因此,如何首先對這兩個文件進行'盲'重寫(因爲需要更專業的術語),以便URL看起來正確,而且還有效'阻止'直接訪問文件 - 確保如果有人試圖直接訪問php文件,那麼這個URL仍然會出現在訪問者的瀏覽器中,而不是完整的文件名和php擴展名?
任何意見都將非常感激,我一直在研究這再過兩天了(我不認爲這裏有什麼和這裏任何地方相同),並且不能爲我的生活工作這個一出!
哇,這很快!並且謝謝 - 我一直非常專注於使用htaccess作爲httpd.conf的替代品,我甚至沒有考慮過使用php本身。很棒! – johnkavanagh 2011-02-07 20:43:38