我的url中有超过9个参数要映射到特定的php文件中。Url是
posted
我的htaccess规则是
^USA/(^/+)/(^/+)/(^/+)/(^/+)/(^/+)/(^/+)/(^/+)/(^/+)/(^/+)/(^/+)/?$ search.php?counrty=USA&state=$1&gender=$2&r_city=$3&r_mstatus=$4&r_religion=$5&r_ethnicity=$6&r_cast=$7&r_profession=$8&r_education=$9&sort_by=$10数控
不起作用
有人能解决这个问题吗?我需要正确的正则表达式和URL
发布于 2012-09-30 15:57:07
创建这样的规则是受到限制的,而且实践也很糟糕&更糟糕的是,您将参数传递给一个搜索脚本;随着脚本的进展,您最有可能希望其他参数传递到美国,这意味着您需要对每个路由进行新的重写。
实际上,您应该将整个url传递给您的php脚本来处理路由。
RewriteEngine On
Options -Indexes
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^search/(.*)$ search.php?route=$1 [L,QSA]这样,您就可以在脚本中explode('/',$_GET['route']),为您提供一个包含所有路由参数的数组。
发布于 2012-09-30 15:55:33
就像Gumbo说的,只需将所有内容发送到页面和处理:
$segments = explode('/', $_SERVER['REQUEST_URI']);
list($country, $state, $gender, [etc etc.]) = $segments;https://stackoverflow.com/questions/12662571
复制相似问题