htaccess重写URL并删除GET参数

时间:2015-08-03 07:23:36

标签: regex .htaccess mod-rewrite

我是URL重写,正则表达式和.htaccess

的新手

这是我面临的一个问题:

我有这个带GET参数的网址: www.mysite.in/alpha-beta/abc.php?id=APPLE%strike=200.00

我希望将它显示为: www.mysite.in/alpha/beta/APPLE/200.00

这是.htaccess中的代码:

RewriteRule ^alpha/beta/(.*)/([0-9]+(\.[0-9]+))$ alpha-beta/abc.php?id=$1&strike=$2 [NC,L]

但是当我转到网址时,我只会得到一个空白页:www.mysite.in/alpha/beta/APPLE/200.00

当我将htaccess规则更改为:

RewriteRule ^alpha/beta/(.*)/([0-9]+(\.[0-9]+))$ http://www.mysite.in/alpha-beta/abc.php?id=$1&strike=$2 [NC,L]

重定向到正确的网页,但网址显示为http://www.mysite.in/alpha-beta/abc.php?id=APPLE&strike=200.00

什么似乎是问题?

1 个答案:

答案 0 :(得分:2)

在root .htaccess中使用这些规则:

RewriteEngine On

RewriteRule ^OI_TOOL/IV/(.*)/([0-9]+(?:\.[0-9]+))/?$ OI_ANALYSIS_TOOL/iv_chart.php?symbol=$1&str‌​ike=$2 [NC,L,QSA]

# fix path for getIV.php by redirecting it to /OI_ANALYSIS_TOOL/
RewriteRule ^OI_TOOL/.+?/(getIV\.php)$ /OI_ANALYSIS_TOOL/$1 [L,NC,R=301]