0
我有一個htaccess rewrite_mode的問題。 當我在這些規則中使用多個$ _GET變量時,第一個變量獲取名爲第一個$ _GET變量的文件。請幫幫我。htaccess和RewriteRule鏈
RewriteEngine on
RewriteBase /ts/
RewriteRule ^(.+)/$ ts.php?a=$1 [C]
RewriteRule ^(.*)/(.+)/$ ts.php?a=$1&b=$2 [C]
RewriteRule ^(.*)/(.*)/(.+)/$ ts.php?a=$1&b=$2&c=$3 [C]
RewriteRule ^(.*)/(.*)/(.*)/(.+)/$ ts.php?a=$1&b=$2&c=$3&d=$4 [C,L]
此輸出用於 「本地主機/ TS/1 /」
Array ([a] => 1)
此輸出用於 「本地主機/ TS/1/2 /」
Array ([a] => ts.php [b] => 2)
這是輸出for「localhost/ts/1/2/3 /」
Array ([a] => ts.php [b] => 2 [c] => 3)
這是輸出爲「本地主機/ TS/1/2/3/4/5/6 /」
Array ([a] => ts.php/2/3 [b] => 4 [c] => 5 [d] => 6)
這是因爲在。重寫完成後,.htaccess上下文會將新的URL輸入到重寫過程中_again_ - 並且'ts.php?a = foo'匹配'^(。+)/'。你可以避免這個f.e.通過使用'RewriteCond'來簡單地排除現有文件的重寫。 – CBroe