首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用mod_rewrite RewriteRule重写所有查询,使其不需要.php扩展

使用mod_rewrite RewriteRule重写所有查询,使其不需要.php扩展
EN

Stack Overflow用户
提问于 2008-10-08 17:34:09
回答 5查看 1.8K关注 0票数 6

我想要像这样的所有查询

代码语言:javascript
运行
复制
http://mysite.com/something/otherthing?foo=bar&x=y

重写为

代码语言:javascript
运行
复制
http://mysite.com/something/otherthing.php?foo=bar&x=y

换句话说,只要让.php扩展成为可选的,通用的。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2008-12-20 19:57:27

我会这样做的。基本上,如果文件不存在,请尝试向其中添加.php。

代码语言:javascript
运行
复制
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ $1.php [QSA,L]
票数 6
EN

Stack Overflow用户

发布于 2008-10-08 17:49:09

这是可行的:

代码语言:javascript
运行
复制
RewriteCond %{QUERY_STRING} ^.+$
RewriteRule ^/?([^/\.]+)$ /$1.php [L]

我们的想法是确保有一个查询字符串(问号加上东西),如果有,检查问号前面的东西是否没有扩展名,如果没有扩展名,则附加.php。

票数 1
EN

Stack Overflow用户

发布于 2008-10-08 19:49:43

如果您可以更改httpd.conf和要更改的内容,您还可以添加:

代码语言:javascript
运行
复制
ForceType application/x-httpd-php

文件中,因为它将强制所有调用的路径都是PHP文件。我认为这也适用于查询字符串。

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

https://stackoverflow.com/questions/183921

复制
相关文章

相似问题

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