我在网站上添加了一个RewriteRule
我的网站有自己的路由。
样品
http://site.com/home/task/processCity/cityName/NameOfCity/stateName/NameOfState
相当于
http://site.com/index.php?obj=home&task=processCity&cityName=NameOfCity&landingName=NameOfState
我试图将网址缩短为
http://site.com/NameOfCity/NameOfState
使用以下代码
我已经注意到了。 此代码使网站加载缓慢。或者css和javascript无效。
RewriteRule ^(.*)/(.*)? /index.php?obj=home&task=processCity&cityName=$1&stateName=$2 [QSA,NC,L]
且原始链接无效
http://site.com/home/task/processCity/cityName/NameOfCity/stateName/NameOfState
但是当我使用这个时,一切正常,原始链接仍在工作
RewriteRule ^find/(.*)/(.*)? /index.php?obj=home&task=processCity&cityName=$1&stateName=$2 [QSA,NC,L]
第一个RewriteRule中可能导致问题的原因是什么?有任何解决这个问题的方法吗 ?
答案 0 :(得分:4)
原始链接无效,因为您的正则表达式不正确,没有$
它匹配并影响您的长网址。将您的规则更改为:
RewriteRule ^([^/]+)/([^/]*)/?$ /index.php?obj=home&task=processCity&cityName=$1&stateName=$2 [QSA,L]