2009-05-26 82 views
0

我在使用我的ReWrite代碼時遇到了一些麻煩。請注意,.htaccess文件是子域中的文件夾(...的public_html /子/).htaccess ModReWrite幫助

我只是試圖重寫一個頁面請求:

http://subdomain.mysite.com/home 
http://subdomain.mysite.com/index.php?page=home 

我的.htaccess文件看起來是這樣的。 ..

RewriteEngine On 
RewriteRule ^/([A-Za-z0-9\-\_])$ /index.php?page=$1 

有什麼東西會跳出來嗎?

回答

3

您目前的規則可能適用於一個字符長(在斜槓後)的網址!

添加+,表示一個或多個字符,或零個或多個

一個*嘗試

RewriteEngine On 
RewriteRule ^/([A-Za-z0-9\-\_]*)$ /index.php?page=$1 
2

如果您想使用的規則.htaccess文件,你需要剝去來自RewriteRule模式的上下文每個目錄路徑前綴。如果.htaccess文件位於文檔根目錄/中,則需要刪除前導/

此外,您需要量化字符集。否則它只會描述一個的字符。

因此,嘗試這條規則:

RewriteRule ^([A-Za-z0-9-_]+)$ index.php?page=$1 
0

我覺得

RewriteRule ^([^/]*)$ /index.php?page=$1 [L] 

是確定的;)

+0

請不要給基於想法的答案。你的答案應該被測試。 – Starx 2012-11-06 06:22:42