2011-03-01 30 views
2

我試圖爲朋友創建一些301重定向。他的舊網站是用一些html頁面構建的靜態網站。301將html重定向到來自現有.htaccess文件的index.php文件

他得到了一個由開發人員構建的新網站,並希望我將他的舊網址重定向到其新網站上的相應網頁。如果新網站沒有相應的頁面,他希望將其重定向到首頁。

舊網站只有9或10頁,所以在每個重定向的.htaccess文件中寫一行對我來說不是問題。

問題是我試過一切可能的重定向工作使用由他的新網站開發人員創建的.htaccess文件,沒有運氣。

目前的.htaccess文件包含以下行

RewriteEngine on 
RewriteCond %{SCRIPT_FILENAME} !-f 
RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteRule ^(.*)$ /~example.com/index.php/$1 

我已經嘗試了各種東西發現本網站和谷歌。例如,我會很高興,如果我能得到這個工作

RedirectMatch 301 (.*)\.html$ $ /~example.com/index.php/$1 

我試圖把該行現有的RewriteCond,但低於現有RewriteEngine敘述線,並試圖把它在下面的所有現有生產線的底部,但沒有去。我找到的每個例子都不起作用。無論我做什麼,我都會收到404頁面。

我是一個沒有Apache知識和Drupal和wordpress之外的框架知識的前端人物,但看起來這個網站是一個用zend框架構建的定製CMS。該網站有一個用於創建新頁面的管理界面,但有很少的選項,絕對沒有選項來創建重定向。有任何想法嗎?哦,還有一件事。我知道我在網絡目錄中,因爲如果我刪除index.php文件,則基址返回404.

回答

0
RewriteEngine on 
RedirectMatch 301 /(.*?)\.html$ /~example.com/index.php/$1 
RewriteCond %{SCRIPT_FILENAME} !-f 
RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteRule ^(.*)$ /~example.com/index.php/$1 
+0

不,試圖訪問html文檔時未找到404。感謝您的嘗試。還有什麼可能導致這一點。我已經確認mod_rewrite模塊已啓用 – jpshayes 2011-03-02 03:22:44

相關問題