2012-01-05 96 views
7

我需要重寫我在windows 7上安裝easyphp的規則。easyphp .htaccess規則

我需要確保規則正確加載,而且我不必創建大量規則。另外,當我複製.htaccess到我的服務器(這是Linux),我想確保它的工作正常。

我有這個沒有經驗,這裏是我的發現diging互聯網:

RewriteRule (.*) index.php?s=$1 

現在,如果我有一個像「接觸我們」的確定,但如果我有子頁面它沒有基本的網頁。我如何創建子文件夾?

謝謝

回答

11

這裏就是你需要做的:

RewriteEngine On 
RewriteBase/
RewriteRule ^([a-z0-9_\-]+)/?$ index.php?main=$1 [NC,L] 
RewriteRule ^([a-z0-9_\-]+)/([a-z0-9_\-]+)/?$ index.php?main=$1&sub=$2 [NC,L] 

這將讓你有一個像網頁:

http://www.domain.com/mainpage/ or 
http://www.domain.com/mainpage or 
http://www.domain.com/mainpage/subpage/ or 
http://www.domain.com/mainpage/subpage 

/?手段斜線是可選

[NC]這使得測試不區分大小寫的 - 「A-Z」和「a-Z」之間的差異被忽略,無論是在擴展後的TestString和CondPattern。該標誌僅對TestString和CondPattern之間的比較有效。它對文件系統和子請求檢查沒有影響。

[L] [L]標誌導致mod_rewrite停止處理規則集。在大多數情況下,這意味着如果規則匹配,則不會處理更多規則。

有關標誌和規則的所有信息:http://httpd.apache.org/docs/current/mod/mod_rewrite.html

+0

所以這條規則將在Windows和Linux工作? – 2012-01-05 02:39:41

+1

是的,只要確保mod_rewrite已啓用,並且應該全部設置。 – 2012-01-05 02:42:47

+0

很高興聽到,再次感謝你 – 2012-01-05 02:45:44