2

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

4

1 回答 1

4

原始链接不起作用,因为您的正则表达式不正确,否则$它也会匹配并影响您的长 URL。将您的规则更改为:

RewriteRule ^([^/]+)/([^/]*)/?$ /index.php?obj=home&task=processCity&cityName=$1&stateName=$2 [QSA,L]
于 2013-11-03T04:35:51.867 回答