Regex htaccess重写URL并删除GET参数

Regex htaccess重写URL并删除GET参数,regex,.htaccess,mod-rewrite,Regex,.htaccess,Mod Rewrite,我不熟悉URL重写、正则表达式和.htaccess 这是我面临的一个问题: 我有一个带有GET参数的url: 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&a

我不熟悉URL重写、正则表达式和.htaccess

这是我面临的一个问题:

我有一个带有GET参数的url:
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]
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]
但当我进入URL:
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]
它重定向到正确的页面,但URL显示为
http://www.mysite.in/alpha-beta/abc.php?id=APPLE&strike=200.00


出现了什么问题?

在root.htaccess中使用以下规则:

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

添加了新信息。也许这会有帮助。你可能是对的。我没有;是否对重写的URL进行了任何更改/添加?你能提供一些更多的信息来说明为了重写的目的应该有哪些额外的css/js吗?这是htaccess中的绝对链接:这是htaccess中的相对链接:这是因为
http://www.niftytrader.in/OI_TOOL/IV/ADANIPORTS/300.00
无法通过jquery和结果是404。你知道怎么解决这个问题吗?iv_chart.php正在从getIV.phpThanks获取数据。它工作得很好。虽然我需要一段时间才能理解:)干杯,还有一个问题。相同的两个参数被传递到getIV.php,但我认为上面的解决方案只传递了一个参数。你能建议换个版本吗?应该显示相同的结果,但结果不一样。第一个链接显示strike=0.00的结果(似乎是),这是由于您需要修复的
drawChart
函数中您自己的代码造成的。抱歉,这是一个错误。我只是浏览了一下这个问题,无意中点击了一下。如何恢复?