首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >htaccess查询字符串到路径不工作

htaccess查询字符串到路径不工作
EN

Stack Overflow用户
提问于 2018-10-22 23:01:00
回答 1查看 71关注 0票数 0

我有一个:http://example.com/TEST/user/ticket.php?id=1

我想要这个:http://example.com/TEST/user/ticket/1

这是我的.htaccess文件:

代码语言:javascript
运行
复制
Options -Multiviews
RewriteEngine On
RewriteBase /TEST/user/
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$  $1.php [NC,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?ticket/(.*?)/?$ /ticket.php?id=$1 [L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /ticket\.php\?id=([^\&\ ]+)
RewriteRule ^/?ticket\.php$ /ticket/%1? [L,R=301]

怎么了?

.php扩展是正确隐藏的,但是查询字符串没有被“转换”为路径。它给了我:

500内部服务器错误

EN

回答 1

Stack Overflow用户

发布于 2018-10-22 23:15:33

服务器日志应该显示错误的原因。

这里的一个问题是,在最后一行中,您使用的模式只匹配ticket.php而不是ticket.php?id=

代码语言:javascript
运行
复制
RewriteRule ^/?ticket\.php$ /ticket/%1? [L,R=301]

试一试

代码语言:javascript
运行
复制
RewriteRule ^/?ticket\.php?id=([^\&\ ]+).*$ /ticket/$1? [L,R=301]

RewriteCond不应该是必要的。

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

https://stackoverflow.com/questions/52938812

复制
相关文章

相似问题

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