首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.htaccess重写及其条件

.htaccess重写及其条件
EN

Stack Overflow用户
提问于 2014-05-29 06:51:49
回答 1查看 713关注 0票数 2

伙计们,我试图用.htaccess修改我的url,但是有一个问题我的URL看起来是这样的

代码语言:javascript
复制
www.example.com/web-search.php?q=car&limit=15

我想把它变成那样

代码语言:javascript
复制
www.example.com/web/cars/15

但没有成功,我不明白问题,请帮帮我。谢谢这是我的.htaccess代码

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{THE_REQUEST} ^(GET|POST)\ /web-search\.php\?q=(.*)\&limit=(.*?)\ HTTP
RewriteRule ^ /%2/%3? [R=301,L]

RewriteRule ^ web/([^/]*)/([^/]*)$ /web-search.php?q=$1&limit=$2 [L]

我从重写的url中删除了"web/“,但是url看起来像

代码语言:javascript
复制
www.example.com/cars/15 

我不想添加web/也不想。提前感谢

更新1:

这导致了上面提到的重写规则的问题。

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{THE_REQUEST} ^(GET|POST)\ /search\.php\?q=(.*)\&limit=(.*)\&siz=(.*?)\ HTTP
RewriteRule ^ /%2/%3/%4? [R=301,L]

RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ /search.php?q=$1&limit=$2&siz=$3 [L]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-29 07:11:49

这是由两个疏忽引起的。第一条规则没有将"web“添加到url中。第二个规则在^和regex的其余部分之间包含一个流氓空间,导致它返回一个错误。

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{THE_REQUEST} ^(GET|POST)\ /web-search\.php\?q=(.*)\&limit=(.*?)\ HTTP
RewriteRule ^ /web/%2/%3? [R=301,L]

RewriteRule ^web/([^/]*)/([^/]*)$ /web-search.php?q=$1&limit=$2 [L]

在测试之前,请记住清除浏览器缓存,因为您的浏览器可能缓存了旧的、错误的、重定向的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23927446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档