为分层类别编写.htaccess mod重写

时间:2010-05-13 02:22:09

标签: php .htaccess mod-rewrite directory

我需要为我的分类广告目录重写网址

我有4种类型的链接

/城市 ==>显示城市中的所有广告

/ City / Cat1 ==>在城市+类别中显示所有广告

/ City / Cat1 / Cat2 ==>显示在城市+类别1 +类别2中添加广告

/ City / Cat1 / Cat2 / Ad-id ==>显示广告本身并传递cat1 cat2和城市变量

原始隐藏网址应为 index.php?city = alexandria& cat1 = cars& cat2 = bikes& adid = EWSw22d

你可以帮我为这个结构编写.htaccess

2 个答案:

答案 0 :(得分:1)

你应该替换重写的第一个重写规则,但这是个想法:

RewriteEngine on
RewriteRule ^index.php index.php [NE,QSA,L]
RewriteRule ^(.*?)(?:/(.*?)(?:/(.*?)(?:/(.*))?)?)?$ index.php?city=$1&cat1=$2&cat2=$3&adid=$4

答案 1 :(得分:0)

我使用单一规则将所有未发送的请求还原到索引PHP,然后在那里解析请求字符串。像这样的Smth

RewriteEngine on
RewriteBase /
RewriteCond  %{REQUEST_FILENAME} !-f
RewriteCond  %{REQUEST_FILENAME} !-d
RewriteRule  ^(.*)$ index.php?query=$1 [QSA,L]