2016-02-04 195 views
0

我嘗試通過.htaccess制定特定的重寫規則,但是我需要幫助,它不起作用。用apache重寫規則不起作用

這是我的網址: http://mywebsite.net/aaa-bbbb/cccc

AAA =動態參數([AZ])
BBB =動態參數([AZ])
CCCC =動態參數,但optionnal([AZ] )

,我想重寫用戶這個網址:
http://mywebsite.net/mydir/ccc?x=aaa&y=bbbb **

網址仍將http://mywebsite.net/aaa-bbbb/cccc上的TabBar

我試試這個 重寫規則^(即[az] +) - ([AZ] +)/([AZ] +)$ MYDIR/$ 3 L]

但它不起作用

thx!

+0

而「它不起作用」意味着什麼?你有錯誤嗎?重定向是否錯誤?什麼都沒有發生?宇宙是否內爆? – arkascha

+0

我有404錯誤。 – philou13010

+0

而您的http服務器錯誤日誌文件包含該請求的條目? – arkascha

回答

0

要重寫

http://mywebsite.net/aaa-bbbb/cccc 
內部

請求

/mydir/ccc?x=aaa&y=bbbb 

你需要這樣的重寫規則:

RewriteEngine on 
RewriteRule ^([a-z]+)-([a-z]+)/([a-z]+)$ /mydir/$3?x=$1&y=$2 [L] 

注:上述規則的語法是使用在http服務器主機配置裏面。如果你真的想用一個.htaccess風格文件,而不是你需要使用一個稍加修改語法,因爲這些文件在相對路徑工作:

RewriteEngine on 
RewriteRule ^([a-z]+)-([a-z]+)/([a-z]+)$ mydir/$3?x=$1&y=$2 [L] 

您可以當場在重寫目標丟失/.htaccess樣式文件必須位於保存mydir文件夾的文件夾內才能使用。此外,這些文件的解釋必須在http服務器配置中完全啓用。


的一般注意事項:.htaccess樣式文件是出了名容易出錯,難以調試和他們真正放慢白白HTTP服務器。它們僅作爲而非訪問http服務器主機配置的最後一個選項提供。因此,例如作弊共享託管服務提供商。一般來說,您應該總是更喜歡將這些規則放置在主機配置本身內。