php 请求url没有扩展名,apache – 将.php重定向到无扩展名,并在没有.php的情况下创建url...
这条规则:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9-_.]*)$/profile.php?id=$1 [L]
需要在最后.
这条规则:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$$1.php
需要[L]标志并需要替换RewriteRule ^([^ /.])$$1.php [L].然后你可以复制这个并用.png和.txt以及你想要处理的每个其他扩展名替换.php,按优先顺序排列:
Options +FollowSymLinks -Multiviews
RewriteEngine on
# Redirect non-www to www:
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$http://www.%{HTTP_HOST}/$1 [R=301,L]
# Unless directory, remove trailing slash
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/$http://www.domain.com/$1 [R=301,L]
# Redirect external .php requests to extensionless url
RewriteCond %{THE_REQUEST} ^(.+)\.php([#?][^\ ]*)?\ HTTP/
RewriteRule ^(.+)\.php$http://www.domain.com/$1 [R=301,L]
# add extension if the php file exists:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$$1.php [L]
# add extension if the png file exists:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.png -f
RewriteRule ^(.*)$$1.png [L]
# add extension if the txt file exists:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.txt -f
RewriteRule ^(.*)$$1.txt [L]
# add extension if the html file exists:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$$1.html [L]
# etc.
# finally, route to profile.php if all else fails
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9-_.]*)$/profile.php?id=$1 [L]
ErrorDocument 404 /404.html
由于您将路由到profile.php,因此在profile.php脚本中,如果id参数不存在,则需要重定向到/404.html(意味着路由的URI必须是404).
php 请求url没有扩展名,apache – 将.php重定向到无扩展名,并在没有.php的情况下创建url...相关推荐
- #{}不自动改参数类型_如何在不刷新页面的情况下改变URL
本文为饥人谷原创文章,首发于 前端学习指南. 问没有具体业务场景的技术问题都是耍流氓,那在回答这个问题之前先简单介绍一下业务场景. 下午6点半,小 H写了一个下午的代码揉揉眼睛伸个懒腰,「今天终于能早 ...
- 如何在不重新加载页面的情况下修改URL?
有没有一种方法可以修改当前页面的URL而无需重新加载页面? 如果可能,我想访问#哈希之前的部分. 我只需要更改域后的部分,所以就好像我没有违反跨域策略一样. window.location.href ...
- linux url%7b怎么转化成,shell下解码url
http://aaronw.me/static/779.html 封装了一下,有需要的拿走 function url_decode() { local url=$ echo $url | awk 'B ...
- 友盟分享error:包名错误,确认与开放平台包名一致
分享一下在集成友盟分享时一个坑(RN) 关于集成友盟分享的方法我就不多说,跟着文档solo完全ok 说一下我在Android点击分享时候,正常弹出分享borad,选择对应平台分享时候 一如既往的loa ...
- 初次使用Apache、ip地址、防火墙、域名、DNS、hosts文件、端口、URL介绍、Apache配置文件、配置虚拟主机、请求响应、http协议、
Apache提供web服务: 启动Apache,让其客户端可以使用你机器上安装的Apache提供的web服务,访问你机器上的网站.这种情况下你的计算机就是服务器,别人的机器就是客户端. 注意:确保配置 ...
- ASP.net实现无扩展名的URL重写。简单、方便、无需ISAPI
URL重写已经有很多的方法,但是多数都有一个缺点,就是不支持无扩展名的网页.微软提供的方法需要在根目录里面建立jyk的文件夹,然后再建立一个default.aspx的文件,如果您有100名会员的话,这 ...
- 在ASP.NET中重写URL 方法三:在IIS7中使用HttpModule 实现无扩展名的URL重写
上述的HttpModule方法在你要重写的URL含有.aspx 扩展名或者包含另一个被设置为ASP.NET处理的扩展名的情形下一切都工作.你这么做的话,不需要任何特定的服务器配置,你只要把你的应用拷贝 ...
- iis5.1/6.0/7.0+ 配置url重写 无扩展名伪静态
最近在搞url重写 遇到iis 无扩展名及html映射问题 供后人查看 因为考虑功能比较多(URLRewriter组件有些功能满足不了要求)所以就用了HttpModule方法重写 iis5.1中 添加 ...
- 一、服务端开发基础(搭建Web服务器、网络基础概念、请求响应流程、配置Apache、静态网站与动态网站)
一.建立你的第一个网站(目标) 前端开发 最终还是属于 Web 开发 中的一个分支,想要成为一名合格的前端开发人员,就必须要 充分理解Web 的概念. 构建一个专业的网站是一项巨大的工作!对于新手我们 ...
最新文章
- ABAP RANGE 实现 SELECTION-OPTION 功能
- 三十岁前不要去在乎的29件事
- react脚手架构建工程
- android设置屏幕高度和宽度设置,android获取屏幕高度和宽度的实现方法
- c++实现 龙格库塔经典4阶算法
- SAPAS91导入期初固定资产数据往年购置与当年购置的区别
- golang 的chan 信道与并发
- 八月十一上午笔记钊哥第一节课
- 查看MySQL初始密码并修改
- 【模型导出与部署】项目接口与百度机器人对接
- html高难度拼图,张馨月婚后生活太悠闲,宅家挑战高难度拼图
- SharpDevelop源码分析之插件
- 京东科技风格 NutUI 发布了
- Xshell6和Xftp6 破解免安装版,无窗口多开限制
- 云计算技术文章的创作心得
- 解决AMD Software提示图形驱动版本不匹配问题
- R语言如何得到一个正态总体均值u的区间估计?
- 设计模式|代理模式、以《安家》为模型轻松理解静态代理和动态代理
- 信道编码译码(ECC)学习笔记
- MismatchedInputException: Cannot deserialize instance of `xxx` out of START_ARRAY token
热门文章
- 步骤5 - Orchestra从微服务提供商获得结果,再发送回WebSocket服务器
- 为什么某些订单的参与者Participant无法被删除
- How is SAP CRM One Order item object type determined
- SAP CRM Service Order(服务订单)的状态字段设计原理介绍
- Buffer table CRMD_DHR_HSRVORD
- Jerry给人做培训的记录
- Kubernetes API server工作原理
- 面试问题 - 只用位操作在ABAP里实现a+b
- 第十二届蓝桥杯JavaB组省赛H题 杨辉三角形
- 网上学c语言推荐课程网站,C语言教学网络课程网站论文