我是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
什么似乎是问题?
答案 0 :(得分:2)
在root .htaccess中使用这些规则:
RewriteEngine On
RewriteRule ^OI_TOOL/IV/(.*)/([0-9]+(?:\.[0-9]+))/?$ OI_ANALYSIS_TOOL/iv_chart.php?symbol=$1&strike=$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]