【问题标题】:.htaccess rewrite rule: remove slash.htaccess 重写规则:删除斜线
【发布时间】:2017-03-16 02:21:16
【问题描述】:

当前.htaccess

RewriteRule ^([a-z-]+)/([a-z-]+)$ /r.php?catname=$1&subcatname=$2 [L]

RewriteRule ^([a-z-]+)/([a-z-]+)/([0-9]+)/$ /r.php?catname=$1&subcatname=$2&page=$3 [L]

RewriteRule ^([a-z-]+)$ /r.php?catname=$1 [L]

RewriteRule ^([a-z-]+)/([0-9]+)/$ /r.php?catname=$1&page=$2 [L]

我目前的输出是:

www.domain.com/$catname                  =>      www.domain.com/blog
www.domain.com/$catname/&subcatname/         =>      www.domain.com/blog/extra/
www.domain.com/$catname/&subcatname/3/       =>      www.domain.com/blog/extra/3/
www.domain.com/$catname/2/        =>      www.domain.com/blog/extra/2/  

我希望我的输出是:

www.domain.com/$catname                       =>      www.domain.com/blog
www.domain.com/$catname/&subcatname              =>      www.domain.com/blog/extra
www.domain.com/$catname/&subcatname/&page        =>      www.domain.com/blog/extra/1
www.domain.com/$catname/&page                   =>      www.domain.com/blog/1

我想要它,所以所有网址都没有斜杠。

【问题讨论】:

  • 如果它不起作用请告诉我
  • 只是一个友好的提示,您可能需要阅读此页面:The How-To-Ask Guide,这样您就可以始终确保您的问题易于回答且尽可能清晰。请务必包括您为解决遇到的问题所做的任何努力,以及尝试这些修复时发生的情况。也不要忘记您的显示代码和任何错误消息!

标签: php apache .htaccess mod-rewrite url-rewriting


【解决方案1】:

如下更新你的 RewriteRule,希望你能得到预期的输出:

RewriteRule ^([a-z-]+)/([a-z-]+)$ /r.php?catname=$1&subcatname=$2 [L]

RewriteRule ^([a-z-]+)/([a-z-]+)/([0-9]+)$ /r.php?   catname=$1&subcatname=$2&page=$3 [L]

RewriteRule ^([a-z-]+)$ /r.php?catname=$1 [L]

RewriteRule ^([a-z-]+)/([0-9]+)$ /r.php?catname=$1&page=$2 [L]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-18
    • 2014-02-04
    相关资源
    最近更新 更多