2012-10-27 40 views
0

我希望這個網址我怎樣才能數學正則表達式來寫一個htaccess規則

http://rebateninja.com/index.php?page=home

要通過htaccess的預覽這樣

http://rebateninja.com/home

我知道這是不是很難,我以前也這樣做過,但由於某種原因,它現在不工作。我的.htaccess包含以下內容:

RewriteEngine On 
RewriteRule (index.php\?page=)(.*) /$2 [NC,R=301,L] 

我在做什麼錯了?也許它與我的Apache版本有關?我失去了整個上午沒有成功!感謝您的回答。

回答

0

試試這個。

RewriteRule ^index.php\?page=(.*)$ /$1 [NC,R=301,L] 
1

你不能在RewriteRule對陣查詢字符串,您需要使用RewriteCond有兩種%{THE_REQUEST}%{QUERY_STRING}和使用到反向引用分組:

RewriteCond %{THE_REQUEST} ^(GET|POST|HEAD)\ /index\.php\?page=([^&\ ]+) 
RewriteRule /%2? [L,R=301] 

進行外重定向瀏覽器,以便地址欄中的URL發生更改。爲了在內部重寫它,您需要:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /index.phjp?page=$1 [L] 
相關問題