url重写

nginx 常用的 URL 重写方法(转)

只谈情不闲聊 提交于 2019-12-04 09:31:39
转自: http://www.jbxue.com/article/4727.html Nginx中一些常用的URL 重写方法介绍,有需要的朋友可以参考下。url重写应该不陌生,不管是SEO URL 伪静态的需要,还是在非常流行的wordpress中,重写都是无处不在的。 Nginx 中一些常用的URL 重写方法介绍,有需要的朋友可以参考下。 url重写应该不陌生,不管是SEO URL 伪静态的需要,还是在非常流行的wordpress中,重写都是无处不在的。 1. 在 Apache 的写法 复制代码 代码如下: RewriteCond %{HTTP_HOST} nginx.org RewriteRule (.*) http://www.nginx.org$1 在 Nginx 可以对应写成: 复制代码 代码如下: server { listen 80; server_name www.nginx.org nginx.org; if ($http_host = nginx.org) { rewrite (.*) http://www.nginx.org$1; } ... } 但 Nginx 作者更建议的方法是: 复制代码 代码如下: server { listen 80; server_name nginx.org; rewrite ^ http://www.nginx.org

thinkphp PATH_INFO支持

筅森魡賤 提交于 2019-12-04 08:38:32
如果发生在本地测试正常,但是一旦部署到服务器环境后会发生只能访问首页的情况,很有可能是你的服务器或者空间不支持PATH_INFO所致。 系统内置提供了对PATH_INFO的兼容判断处理,但是不能确保在所有的环境下面都可以支持。如果你确认你的空间不支持PATH_INFO的URL方式的话,有下面几种方式可以处理: 大理石平台检定规程 修改URL_PATHINFO_FETCH配置参数 新版内置了通过对 ORIG_PATH_INFO , REDIRECT_PATH_INFO , REDIRECT_URL 三个系统$_SERVER变量的判断处理来兼容读取$_SERVER['PATH_INFO'],如果你的主机环境有更特殊的设置,可以修改URL_PATHINFO_FETCH参数,改成你的环境配置对应的PATH_INFO的系统变量兼容获取名称,例如: 'URL_PATHINFO_FETCH' => 'ORIG_PATH_INFO,REDIRECT_URL,其他参数…' 如果你的环境没有任何对应的系统变量,那么可以封装一个获取方法,例如: function get_path_info (){ // 根据你的环境兼容获取PATH_INFO 具体代码略 return $path ; // 直接返回获取到的PATH_INFO信息 } 然后我们修改下URL_PATHINFO_FETCH参数的配置值,改为:

Vue.js Ajax

本小妞迷上赌 提交于 2019-12-04 00:18:18
1.封装AJAX模块 (1)在src目录下新建api目录,新建ajax.js,写入 (2)引入axios (3)定义ajax函数,并暴漏出去 (4)ajax函数中调用axios发送请求,并将返回的promise对象 return出去 // 引入axios import axios from 'axios' // 暴露ajax // ajax接收3个参数:url,参数,请求方法 export default function ajax (url='',data={},type='get') { let promise if(type.toLowerCase() === 'get'){ //如果是get请求,则将参数拼接到url后面 let dataStr = '' Object.keys(data).forEach(key => { // key=value& dataStr += key + '=' +data[key] + '&' }) if(dataStr !== ''){ // 去除最后一个& dataStr = dataStr.substring(0,dataStr.lastIndexOf('&')) // 将参数拼接到url后面 url = url + '?' + dataStr } // 发送get请求,返回一个promise对象 promise = axios.get

HTACCESS 伪静态书写规则

与世无争的帅哥 提交于 2019-12-03 22:35:23
.htaccess是什么 .htaccess文件(或者"分布式配置文件")提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。 概述来说,htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。 启用.htaccess,需要修改httpd.conf,启用AllowOverride,并可以用AllowOverride限制特定命令的使用。如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令来改变。例如,需要使用.config ,则可以在服务器配置文件中按以下方法配置:AccessFileName .config 。 笼统地说,.htaccess可以帮我们实现包括:文件夹密码保护、用户自动重定向、自定义错误页面、改变你的文件扩展名、封禁特定IP地址的用户、只允许特定IP地址的用户、禁止目录列表,以及使用其他文件作为index文件等一些功能。 工作原理 .htaccess文件(或者

.htaccess 详解

大城市里の小女人 提交于 2019-12-03 22:35:04
.htaccess是什么 .htaccess文件(或者"分布式配置文件")提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。 概述来说,htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。 启用.htaccess,需要修改httpd.conf,启用AllowOverride,并可以用AllowOverride限制特定命令的使用。如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令来改变。例如,需要使用.config ,则可以在服务器配置文件中按以下方法配置:AccessFileName .config 。 笼统地说,.htaccess可以帮我们实现包括:文件夹密码保护、用户自动重定向、自定义错误页面、改变你的文件扩展名、封禁特定IP地址的用户、只允许特定IP地址的用户、禁止目录列表,以及使用其他文件作为index文件等一些功能。 工作原理 .htaccess文件(或者

03 Django的路由层-1(URLconf)

北城余情 提交于 2019-12-03 06:38:10
简单的路由配置:通过正则分组获取url中的动态参数 from django.conf.urls import url from . import views urlpatterns = [ url(r'^articles/2003/$', views.special_case_2003), url(r'^articles/([0-9]{4})/$', views.year_archive), url(r'^articles/([0-9]{4})/([0-9]{2})/$', views.month_archive), url(r'^articles/([0-9]{4})/([0-9]{2})/([0-9]+)/$', views.article_detail), ] 注意: 若要从URL 中捕获一个值,只需要在它周围放置一对圆括号。 不需要添加一个前导的反斜杠,因为每个URL 都有。例如,应该是 ^articles 而不是 ^/articles 。 每个正则表达式前面的'r' 是可选的但是建议加上。它告诉Python 这个字符串是“原始的” —— 字符串中任何字符都不应该转义 一些请求的例子: /articles/2005/03/ 请求将匹配列表中的第三个模式。Django 将调用函数views.month_archive(request, '2005', '03')。

home_url()用法小结|wordpress函数

帅比萌擦擦* 提交于 2019-12-03 06:32:23
  home_url()检索可访问当前站点的URL( 推荐 将<?php bloginfo('url'); ?>用<?php home_url(); ?>来替代),使用适当的协议返回' home '选项。如果is_ssl()的判断结果为true,则协议为' https ';否则,它将与“home”选项相同。如果$scheme是' http '或' https ',则重写is_ssl()。   home_url()使用方法 <?php home_url($path = '', $scheme = ''); ?>   参数解释   $path。(string类型),可选,网站url的相对路径,默认为''空值   $scheme。 ( string类型| null),可选, 提供网站url的相关方案   使用范例 <?php $url = home_url(); echo $url; ?>   得到结果是http://www.example.com <?php $url = home_url( '/' ); echo $url; ?>   得到结果是http://www.example.com/,注意最后有一个 /斜杠 <?php $url = home_url( $path = '/', $scheme = https ); echo $url; ?>   得到结果是https:/

Flask笔记(一)

↘锁芯ラ 提交于 2019-12-03 01:41:12
first_flask_project.py # 从flask这个包中导入Flask这个类 # Flask这个类是项目的核心,以后很多操作都是基于这个类的对象 # 注册url、注册蓝图等都是基于这个类的对象 from flask import Flask # 创建一个Flask对象,传递__name__参数进去 # __name__参数的作用: # 1. 可以规定模版和静态文件的查找路径 # 2. 以后一些Flask插件,比如Flask-migrate、Flask-SQLAlchemy如果报错了,那么Flask可以通过这个参数找到具体的错误位置 app = Flask(__name__) # @app.route:是一个装饰器 # @app.route('/')就是将url中的 / 映射到hello_world这个视图函数上面 # 以后你访问我这个网站的/目录的时候,会执行hello_world这个函数,然后将这个函数的返回值返回给浏览器。 # wwww.baidu.com/ -> hello_world函数 @app.route('/') def hello_world(): return '知了课堂' # www.baidu.com/list/ @app.route('/list/') def my_list(): return 'my list' #

怎么玩 URL Rewriting

匿名 (未验证) 提交于 2019-12-03 00:04:02
URL Rewriting,这个好像似曾相识,又觉得很陌生的技术,已经随着资讯安全与 SEO (Search Engine Optimization) 的脚步,逐渐影响每个 Web Developer,不论你是走哪个技术的(ASP, ASP.NET, PHP, JSP, Ruby, Perl, ...),基本上都很难不去重视它,因为它其实可以帮你很多忙。光是一个 REST 的 URL 模式,就可以让很多人眼睛为之一亮。 URL Rewriting,这个好像似曾相识,又觉得很陌生的技术,已经随着资讯安全与 SEO (Search Engine Optimization) 的脚步,逐渐影响每个 Web Developer,不论你是走哪个技术的,基本上都很难不去重视它,因为它其实可以帮你很多忙。光是一个 REST 的 URL 模式,就可以让很多人眼睛为之一亮。 试想,如果你的网站有某支 URL 是长这样好看: http://www.abc.com.tw/myblog/blog.aspx?id=18472938290&postdate=20090404 还是这样好看: http://www.abc.com.tw/myblog/2009/04/04/ 18472938290.aspx 又或者,使用者是否可以用这样的输入 URL 方式: http://www.abc.com.tw

5、自定义URL规则转换器

匿名 (未验证) 提交于 2019-12-03 00:04:02
自定义URL转换器方式: 1.实现一个类,继承自 BaseConverter 2.在自定义类中重写 regex ,制定规则 3.将自定义的类,映射到 app.url_map.converters 例如: from flask import Flask , url_for from werkzeug . routing import BaseConverter class TelephoneConverter ( BaseConverter ) : # 正则处表示第一位是1,第二位是中括号里的任意数字, # \d代表数字,9代表后续还有9位数字 regex = r '1[8573]\d{9}' app . url_map . converters [ 'tel' ] = TelephoneConverter @app . route ( '/telephone/<tel:m_tel>/' ) def my_tel ( m_tel ) : return '您输入的手机号为:{}' . format ( m_tel ) 输出: 自定义类中的to_python() class ListConverter ( BaseConverter ) : # 使用list类型的参数,通过to_python()方法可以将返回值传到视图函数中 # 即对URL规则进行操作,然后返回到视图函数中呈现出来 #