服務項目:網站建設、仿站、程序開發、APP開發設計、移動網站開發設計、企業網站設計、電子商務網站開發、網站維護、網站推廣、UX/UI 、HTML5、CSS3、JS / Jquery ...
          四川浚浚科技有限公司
          四川浚浚科技有限公司 (開發設計官網)TEL : 15308000360 / QQ : 38585404
          深入挖掘用戶需求
          成就品質用戶體驗

          您的位置:首頁 > 技術經驗 > 服務器 > 正文

          Apache Rewrite ? 匹配問號的寫法
          技術支持服務電話:15308000360 【7x24提供運維服務,解決各類系統/軟硬件疑難技術問題】

          把 /abc?id=123  =>  /def.php?id=123 的寫法:

           
          RewriteEngine on
          RewriteCond %{QUERY_STRING} ^id=(.+)$
          RewriteRule ^/abc$ /def.php?sid=%1 [L]

          若此篇文章還不能解決您的問題,請聯系QQ:38585404  (有償技術支持)
           
          RewriteRule 不會去匹配 ? 后面的字符串,需要用RewriteCond來匹配
          參考:http://lists.apple.com/archives/web-dev/2006/Mar/msg00005.html
           
          附件:
          1樓:
          Options +FollowSymlinks
          RewriteEngine on
          # Set the RewriteBase to "/" for the root level to base everything on... I guess.
          RewriteBase /
          RewriteRule ^oldpage.php(.+) newpage.php$1&otherid=0 [R]
          -------------------------------------------------
          The $1 should have all the variable stuff in it from the php.
          So I'm looking for it to essentially do this:
          oldpage.php?id=1 redirects to newpage.php?id=1&otherid=0
          Why is this not working? Any help would be appreciated.
           
          2樓:
          Because the RewriteRule directive doesn't parse anything beyond the path portion of the requested URL. If you want to capture the query string, you have to use a RewriteCond statement to store the query string in a regex back-reference. You can then make use of the RewriteCond's back-references in a succeeding RewriteRule statement. There's actually a shortcut for doing this (check the QSA flag in the mod_rewrite docs), but you need to modify the query string in the rewritten URL, so you can't use that.
           
          Give this a try:
           
          RewriteCond %{QUERY_STRING} ^(.+)$
          RewriteRule ^oldpage.php newpage.php?otherid=0&%1 [R]
           
          -Brian
           
          3樓:
          So I fiddled around and came up with this:
           
          RewriteRule ^oldpage.php newpage.php?otherid=0 [QSA,R]
           
          Why does this work? The only thing I can figure is that the query 
          string is simply added to the end (as is says in the docs) of the new 
          page. But I'm not even referencing the query string in the first 
          part. Do I not need to do that? Does QSA take whatever the query 
           
          4樓:
          Hey,
          mod_rewrite is the swiss army knife of web deployment, so how could this be
          OT? ;-)
           
          Firstly, you're missing a question mark in your rewrite rule, every request
          will at least start with a SLASH (/) and then adding QSA to your rewrite
          rule might help in passing over query strings.
          (QSA = QeryStringAppend)
           
          ^ matches the begining of the requested URI which will always start with a
          slash as in: 
          http//www.apple.com/hardware
          ^ protocol
          ^ host
          ^ requested URI including /
           
          So give this a try:
           
          RewriteRule ^/oldpage.php(.*) newpage.php?$1&otherid=0 [QSA,R]
          ^ ^ ^^^
          this is needed you missed this this QSA is new
           
          or even
          RewriteRule ^/oldpage.php(.*) newpage.php?$1&otherid=0 [QSA,R=301]
          (R=301 makes the redirect a PERMANENT redirect)
           
          I'd even go so far to add a Rewrite Condition, so the rule doesn't have to
          be run for all requests:
           
          RewriteCond %{REQUEST_URI} ^/.*\.php.* [NC]
          RewriteRule ^oldpage.php(.*) newpage.php?$1&otherid=0 [QSA,R=301]
           
          ([NC] turns on case insensitivenes on the matches so .PHP=.php etc.)
           
          Also to debug problems with ModRewrite, it realy helps turning logging on to
          see what is actualy happening:
           
          RewriteLog "/var/log/httpd/rewrite.log"
          RewriteLogLevel 13



          上一篇:安裝PHP組件uploadprogress
          下一篇:vsftp不能上傳下載問題解決

          相關熱詞搜索:apache rewrite 偽靜態
          主站蜘蛛池模板: 亚洲日韩一页精品发布| 国产又大又粗又长免费视频| 久久91精品国产91久久户| 欧美日韩亚洲国产综合| 好大好湿好硬顶到了好爽视频| 伊人情人综合网| 韩国三级hd中文字幕好大| 国内精品伊人久久久久av影院| 亚洲一区二区三区四区视频| 蜜臀久久99精品久久久久久| 国产色无码精品视频国产| 久久精品国产精品亚洲蜜月| 特黄aa级毛片免费视频播放| 国产熟睡乱子伦视频观看软件| www成人在线观看| 欧美最猛性xxxx高清| 国产在视频线精品视频| 中文字幕.com| 最近中文字幕免费mv在线视频| 人人看人人添人人谢| 色综合久久天天综合| 国产精品久免费的黄网站| xxxxhd93| 无码日韩人妻精品久久| 亚洲人成图片小说网站| 肥大bbwbbw高潮喷水| 国产精品一区二区电影| h片在线观看免费| 欧洲精品码一区二区三区| 人人玩人人添人人| 美女网站在线观看视频免费的| 国模吧一区二区三区精品视频| 中文字幕欧美日韩| 最近中文字幕2019| 亚洲欧美日韩久久精品第一区| 米兰厉云封免费阅读完结| 国产一区在线播放| 99久久久久久久| 忘忧草社区中文字幕| 久久国产精品免费看| 精品一区二区久久久久久久网精|