RewriteRule导致减速

时间:2013-11-03 02:09:45

标签: regex apache .htaccess mod-rewrite url-rewriting

我在网站上添加了一个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中可能导致问题的原因是什么?有任何解决这个问题的方法吗 ?

1 个答案:

答案 0 :(得分:4)

原始链接无效,因为您的正则表达式不正确,没有$它匹配并影响您的长网址。将您的规则更改为:

RewriteRule ^([^/]+)/([^/]*)/?$ /index.php?obj=home&task=processCity&cityName=$1&stateName=$2 [QSA,L]