久久精品免费_亚洲精品视频一区_91欧洲在线视精品在亚洲_国产精品一区二区不卡日出白浆,99久久精品视频,日本精品夜色视频一区二区,亚洲精品国产字幕久久vr

服務項目:網(wǎng)站建設、仿站、程序開發(fā)、APP開發(fā)設計、移動網(wǎng)站開發(fā)設計、企業(yè)網(wǎng)站設計、電子商務網(wǎng)站開發(fā)、網(wǎng)站維護、網(wǎng)站推廣、UX/UI 、HTML5、CSS3、JS / Jquery ...
四川???萍加邢薰?></a></div>
                    <div   id=四川浚??萍加邢薰? title=
四川???萍加邢薰?(開發(fā)設計官網(wǎng))TEL : 15308000360 / QQ : 38585404

您的位置:首頁 > 技術經(jīng)驗 > 服務器 > 正文

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

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

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

若此篇文章還不能解決您的問題,請聯(lián)系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 偽靜態(tài)
主站蜘蛛池模板: 巴马| 兴国县| 怀安县| 罗山县| 平江县| 望谟县| 赫章县| 牡丹江市| 河间市| 涡阳县| 班戈县| 东港市| 无为县| 定陶县| 金秀| 荥经县| 弥勒县| 会泽县| 滁州市| 诸暨市| 乌兰察布市| 夏河县| 什邡市| 临潭县| 攀枝花市| 登封市| 昌黎县| 巴彦县| 康乐县| 望奎县| 紫阳县| 铜陵市| 吐鲁番市| 洪洞县| 马尔康县| 乌鲁木齐县| 灵石县| 靖江市| 宜宾县| 耿马| 资阳市|