.htaccess 可选htaccess重写

.htaccess 可选htaccess重写,.htaccess,url,mod-rewrite,.htaccess,Url,Mod Rewrite,我在一家房地产网站工作 现在,在URL中,我希望有可选的GET变量 可能的GET变量包括: 安大略省 那个省的一个城市 类型房屋、公寓、公寓等 价格100-200k、200-300k等 卧室1、2、3、4等 浴室1、2、3、4等 以下是我想到的URL结构: mysite.com/p-ontario/c-toronto/house-listings/100-200k/1-bed/1-bath 现在我希望这个可以互换 因此,以下URL必须有效,无论GET变量的顺序如何,它必须始终能够获取它们并使用它

我在一家房地产网站工作

现在,在URL中,我希望有可选的GET变量

可能的GET变量包括:

安大略省

那个省的一个城市

类型房屋、公寓、公寓等

价格100-200k、200-300k等

卧室1、2、3、4等

浴室1、2、3、4等

以下是我想到的URL结构:

mysite.com/p-ontario/c-toronto/house-listings/100-200k/1-bed/1-bath

现在我希望这个可以互换

因此,以下URL必须有效,无论GET变量的顺序如何,它必须始终能够获取它们并使用它们查询列表:

mysite.com/p-ontario/c-toronto/house-listings/100-200k/1-bed/1-bath

mysite.com/p-ontario/house-listings/1-bed/1-bath

mysite.com/p-ontario/c-toronto/100-200k

mysite.com/p-ontario/house-listings/100-200k/1-bath

mysite.com/p-ontario/100-200k/


HTACCESS pro能否帮助我并告诉我最好的方法?请记住,省将始终存在,并且将始终是URL中位于.com之后的第一个GET变量。

这是您所需的基本Htaccess:

# Just Province
RewriteRule ^p-([a-z0-9]+)/?$ page.php?provinces =$1 [L,NC]

# Province and City
RewriteRule ^p-([a-z0-9]+)/c-([a-z0-9]+)/?$ page.php?provinces =$1&city=$2 [L,NC]

# Province, City and Listing
RewriteRule ^p-([a-z0-9]+)/c-([a-z0-9]+)/([a-z0-9]+)-listings/?$ page.php?provinces =$1&city=$2&type=$3 [L,NC]

# Province, City, Listing, Price
RewriteRule ^p-([a-z0-9]+)/c-([a-z0-9]+)/([a-z0-9]+)-listings/([a-z0-9-]+)/?$ page.php?provinces =$1&city=$2&type=$3&price=$4 [L,NC]

# Province, City, Listing, Price, Beds
RewriteRule ^p-([a-z0-9]+)/c-([a-z0-9]+)/([a-z0-9]+)-listings/([a-z0-9-]+)/([0-9]+)-bed/?$ page.php?provinces =$1&city=$2&type=$3&price=$4&beds=$5 [L,NC]

# Province, City, Listing, Price, Beds, Bathrooms
RewriteRule ^p-([a-z0-9]+)/c-([a-z0-9]+)/([a-z0-9]+)-listings/([a-z0-9-]+)/([0-9]+)-bed/([0-9]+)-bath/?$ page.php?provinces =$1&city=$2&type=$3&price=$4&beds=$5&bathrooms=$6 [L,NC]
您不必为可选的城市和价格添加额外的Htaccess帐户,只需传递任何:


您是否了解Htaccess,否则我们的答案可能没有意义?
mysite.com/p-ontario/c-any/house-listings/any/1-bed/1-bath