我有一个问题,我们如何用斜线代替斜线来分隔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中做到这一点。我想在Laravel做这件事!任何建议都将不胜感激。
由于
答案 0 :(得分:0)
在您的www root中创建.htaccess并将其放入其中:
重写发动机
RewriteCond%{SCRIPT_FILENAME}!-d
RewriteCond%{SCRIPT_FILENAME}! - f
RewriteRule ^(。*)$ index.php?params = $ 1 [QSA]
使用它来获取参数:
...
$ params = explode(' /',$ _GET [' params']);
$ lastTwo = explode('〜',$ params [count($ params) - 1]);
if(count($ lastTwo)== 2){
$ params [count($ params) - 1] = $ lastTwo [0];
$ params [] = $ lastTwo [1];
}
...
现在你将所有params作为数组,你可以处理它。
答案 1 :(得分:0)
您可以在根目录中使用此规则.htaccess:
RewriteEngine On
RewriteCond %{THE_REQUEST} \s/([^~]+?)/([^/~\s]+)/? [NC]
RewriteRule ^(.+?)/([^/~]+)/?$ /$1~$2 [R=301,L,NE]
RewriteRule ^([^~]+)(.+)$ /$1/$2 [R=301,L,NE]