2009-11-05 67 views
0

问题大致是 - 我需要这样的恳求道:阿帕奇国防部重写规则集

主机/ VAR1/VAL1/VAR2/VAL2/VAR3/VAL3/...

被覆盖像:

主机/ index.php文件VAR1 = VAL1 & VAR2 = VAL2 & VAL3 = VAR3 & ......

任何想法?

回答

1

mod_rewrite无法自行解析键/值对。你最好的选择是让index.php帮助解析。

.htaccess文件应该是这样的:

# Allow any files or directories that exist to be displayed directly 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

# Rewrite all other URLs to index.php/URL 
RewriteRule .* index.php/$0 [PT,L] 

那么你可以使用PHP在index.php文件的开头来设置$ _ GET变量:

$params = explode('/', trim($_SERVER['REQUEST_URI'], '/')); 

for ($i=0; $i<count($params); $i+=2) { 
    $_GET[$params[$i]] = $params[$i+1]; 
} 
0

尝试这些规则:

RewriteRule ^([^/]+)/([^/]+)/(.+) /$3?$1=$2 [QSA,N] 
RewriteRule ^([^/]+)/([^/]+)$ index.php?$1=$2 [QSA,L] 

但是你最好用PHP解决方案。