【问题标题】:Regular expression for htaccess URL rewritehtaccess URL 重写的正则表达式
【发布时间】:2011-10-18 22:19:25
【问题描述】:

hiii,

我想重写目录 www.mysite.com/index.php?category=news 访问 www.mysite.com/news 我写了这段代码,但它不起作用 任何人都可以帮助,请 感谢帮助

RewriteEngine On    
RewriteRule  ^([a-zA-Z0-9-/]+)$ index.php?category=$1

感谢所有回答我问题的人,当我尝试编写 www.mysite.com/news 时,所有代码都有效,但我的意思是当我点击链接时 "a href='index.php?category=news'"link"/a" 我想马上改写到 www.mysite.com/news

【问题讨论】:

  • 转到mysite.com/news会发生什么?
  • 我很确定您的意思是“将news 重写为index.php?category=news”,而不是相反
  • 列维莫里森,它的作品,但我的意思是当我点击一个链接“a href='index.php?category=news'"link"/a" 我想被重写到 www.mysite .com/news 立即

标签: php .htaccess


【解决方案1】:

确认一下,您要匹配的模式是所有字母、数字、连字符和正斜杠,对吧?

如果是这样,试试这个

RewriteRule ^([a-zA-Z0-9/-]+)$ index.php?category=$1 [QSA,L]

我认为问题可能是您在字符类表达式中对连字符和正斜杠的排序。要匹配连字符,它们应该出现在字符集中的第一个或最后一个。

【讨论】:

    【解决方案2】:

    这行得通吗?

    RewriteBase /
    RewriteRule (.*) index.php?category=$1 [QSA,NC,L]
    

    【讨论】:

      【解决方案3】:

      试试这个

      Options +FollowSymLinks
      RewriteEngine on
      RewriteRule news/ index.php?category=news
      RewriteRule news index.php?category=news
      

      【讨论】:

        【解决方案4】:
        RewriteRule ^(news|or|some|other|category)$ index.php?category=$1 [QSA,NC,L]
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-07-19
          • 1970-01-01
          • 2013-02-18
          • 1970-01-01
          相关资源
          最近更新 更多