2012-04-03 54 views
0

我希望有人可能能夠幫助解決我因使用htaccess缺乏經驗和知識而遇到的問題。htaccess查詢。 2重寫2個主頁的規則

我們正在做的是在根目錄下運行IP Boards論壇軟件和wordpress。 IPB有index.php文件(因爲有索引url),新的Wordpress的index.php文件已經重命名爲blog.php。

在我們添加的htaccess文件的最頂端:DirectoryIndex blog.php index.php - 所以新的wordpress首先打開。

我遇到的問題是試圖在論壇軟件的友好網址的htaccess文件中有2個rewriterule,並且也是新wordpress的永久鏈接。

我似乎只有一個或另一個。

請任何人都可以告訴我,或指出我在正確的方向,讓兩個工作。

這就是我到目前爲止所做的,但可悲的是沒有快樂,但如果我們刪除條件之一併重寫,則工作正常。

<IfModule mod_rewrite.c> 
Options -MultiViews 
RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /blog.php [L] 
</IfModule> 

非常感謝提前。

回答

0

不知道你是否還想要一個答案。無論哪種方式,如果你想要去兩個不同的頁面,你需要一些區分它們的方法。

DirectoryIndex基本上告訴默認文件(和順序),當進入一個目錄。因此http://host.com/與目錄中的blog.phpindex.php都會提供blog.php,因爲它首先在您給服務器的列表中。如果只有index.php,它會起作用。如果兩者都沒有(並且在列表中沒有其他東西),它將拋出一個404因爲沒有找到默認文件。

編輯:它會嘗試列出內容,如果沒有找到。我的錯。如果你不允許目錄列表,那麼它可能會顯示一個錯誤代碼。要關閉目錄列表,看看在選項:http://httpd.apache.org/docs/current/mod/core.html#options

http://httpd.apache.org/docs/current/mod/mod_dir.html

你重寫規則似乎有種想要做同樣的事情在不同的順序。如果您請求http://host.com/aa不是文件或目錄(根據條件),它將轉到index.php ..如果index.php不存在,則它將循環直到服務器捕獲它,因爲您沒有檢查該文件或目錄。因此,這意味着第二組條件不會做任何事情,因爲index.php存在或不存在,並且下一組可能不會真正達到,除非它確實如此。

你需要決定如何區分這兩個(/blog/blog.php/index.php或某事),使他們的一個默認。如果你想隨機化它,我會建議通過PHP來做到這一點。

http://httpd.apache.org/docs/current/mod/mod_rewrite.html

..從根目錄重定向到/論壇/通過htaccess試試這個:

RewriteEngine on 
RewriteCond %{REQUEST_URI} !^/forums/ 
RewriteRule ^(.*)$ /forums/$1 [L] 
+0

巨大的謝謝你的回覆和幫助。我一遍又一遍地閱讀鏈接,但無法獲得與論壇mod_rewrites一起工作的固定鏈接。我們現在已將論壇移至文件夾名稱/論壇/來解決該問題,但是您知道我們可以從網址中移除/論壇/的方式嗎? – user1310004 2012-04-13 21:30:26

+0

@ user1310004我更新了底部的答案以顯示重定向到論壇,但這不是原始問題的一部分。你知道有兩個默認文件很混亂嗎?哪一個應該加載,服務器應該如何區分?一個應該是根的默認值,另一個應該是其他條件的默認值。這基本上是我試圖解決的問題。 – craniumonempty 2012-04-13 22:38:00

+0

嗨。感謝你的寶貴時間。是的,我瞭解你所做的一點,但我找不到一種方式告訴服務器是用於論壇rewriterule(index.php),哪一個用於wordpress永久鏈接(blog.php)。所以看了另一個選項。理想情況下,我們希望根據搜索引擎優化的原因在根中使用兩者。你有什麼想法,我們會告訴服務器哪個是哪個?對所有問題抱歉並對此缺乏認識。非常感謝您的幫助和時間。 – user1310004 2012-04-15 19:33:27