简体   繁体   English

htaccess动态重写规则

[英]htaccess dynamic rewrite rule

I have some request parameters which I am converting to friendly URL 我有一些请求参数,正在转换为友好网址

For example: 例如:

http://domain.com/members/girls/sort/last_reg/nick/ted/from/18/to/28/hfrom/150/hto/190/bbody/Athletic/

The parameters are dynamic so the URL could be 参数是动态的,因此URL可以是

http://domain.com/members/girls/nick/ted/from/18/to/28/hfrom/150/hto/190/bbody/Athletic/

or 要么

http://domain.com/members/men/nick/ted/to/28/hfrom/150/hto/190/bbody/Athletic/

The parameters are in pairs 参数成对

parameter_name/parameter_value

The only thing which is constant is 唯一不变的是

http://domain.com/members/

How to transform this URL to 如何将此网址转换为

http://domain.com/filename.php?sex=men&pram1=value1&param2=value2 ......

or 要么

http://domain.com/filename.php?sex=girls&pram1=value1&param2=value2 ......

Put this code in your DOCUMENT_ROOT/.htaccess file: 将此代码放在您的DOCUMENT_ROOT/.htaccess文件中:

RewriteEngine On

## recucrsion based rule to convert 
## /members/men/n1/v1/n2/v2 to /members.php?n2=v2&n1=v1&sex=men

RewriteRule ^(members)/(girls|men)(/.*)?$ /$1/$3?sex=$2 [L,QSA,NC]

RewriteRule ^(members)/([^/]*)/([^/]*)(/.*)?$ /$1/$4?$2=$3 [L,QSA,NC]

RewriteRule ^(members)/?$ /$1.php [L,NC]

This may help: 这可能会有所帮助:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/(.*)/(.*)/(.*)/$ filename.php?$1=$2&$3=$4 [L,QSA]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM