doubiankang2845 2015-06-25 09:36
浏览 47
已采纳

.htaccess规则从静态文件中提供“bla.php?id = 1”

Situation

I have files with names like

bla.php?id=1

(bla.php doesn't exist) that contain plain HTML code (which happens when you mirror a site with wget for example).

Goal

When accessing

domain.com/bla.php?id=1 

it should serve from the static file bla.php?id=1 instead of bla.php and appending the query string to it. Works with the question mark in hex, ie. domain.com/bla.php%3Fid=1, but then the URL would change and it shouldn't.

Problem

The solution I came up with is to rewrite question marks in the URL to hex internally via .htaccess, which so far I didn't get to work correctly. If anyone has a better idea to reach the goal of serving URLs containing query strings from static files, it would be very appreciated. Below is what I tried without luck:

RewriteCond %{QUERY_STRING} !=""
RewriteRule ^/(.*) /$1\%3F%{QUERY_STRING}? [NE,L]
  • 写回答

1条回答 默认 最新

  • dongzong3053 2015-06-26 15:03
    关注
    We have a solution for this, Please try the below code.
    
     RewriteCond %{ENV:REDIRECT_STATUS} =""
     RewriteCond %{QUERY_STRING} !=""
     RewriteRule ^(.*) /$1\%3F%{QUERY_STRING}
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?