我有一个问题,我们如何用斜线代替斜线来分隔Url例如,我有一个类似于的URL
第一例
www.domain.com/category/category_id
then URL shown would be
www.domain.com/category~category_id
第二种情况
www.domain.com/category/subcategory/category_id
then URL shown would be
www.domain.com/category/subcategory~category_id
所以,当我们遇到这样的情况时,我们将分离Url,只有最后一段会受到影响。我们如何在Php中做到这一点。我正试图在拉拉维尔做这件事!任何建议都将不胜感激。
感谢
-
在你的www根目录中创建.htaccess并将其放入:
上的重写引擎重写结束%{SCRIPT_FILENAME}-d
重写结束%{SCRIPT_FILENAME}-f
重写规则^(.*)$index.php?params=$1[QSA] -
在index.php中,使用此获取params:
$params=爆炸('/',$_GET['params'])
$lastTwo=爆炸('~',$params[count($params)-1])
if(count($lastTwo)==2){
$params[count($params)-1]=$lastTwo[0]
$params[]=$lastTwo[1]
}…
现在,您可以将所有参数作为数组进行处理。
您可以在根目录中使用此规则。htaccess:
RewriteEngine On
RewriteCond %{THE_REQUEST} 's/([^~]+?)/([^/~'s]+)/? [NC]
RewriteRule ^(.+?)/([^/~]+)/?$ /$1~$2 [R=301,L,NE]
RewriteRule ^([^~]+)(.+)$ /$1/$2 [R=301,L,NE]