apache的.htaccess转换为nginx伪静态文件conf的方法
在线转换地址 : https://tool.lu/htaccess2nginx
以下几点需要注意:
1,RewriteRule
需要全部替换为rewrite
。
2,替换掉所有的\
,conf不需要转义符。
3,conf文件的规则开头需要加上/
。
4, 所有的[L]
和 [QSA,L]
等需要替换为 last
。
5,每一行必须以;
结尾。
上面5点实例
如RewriteRule ^category$ index\.php [L]
需要更换为rewrite ^/category$ /index.php last;
6,对于包含|
或者}
等特殊字符的规则,必须用""
引起来,不然会当作规则的终止符号。
如rewrite ^/daily-([0-9]{4}-[0-9]{2}-[0-9]{2}).html$ /daily.php?day=$1 last;
,需要用双引号括起来rewrite "^/daily-([0-9]{4}-[0-9]{2}-[0-9]{2}).html$" /daily.php?day=$1 last;
,不然会出错。
apache的.htaccess
RewriteRule ^index\.html$ index\.php [L]
RewriteRule ^category$ index\.php [L]
# access any object by its numeric identifier
RewriteRule ^feed-c([0-9]+)\.xml$ feed\.php\?cat=$1 [L]
RewriteRule ^feed-b([0-9]+)\.xml$ feed\.php\?brand=$1 [L]
RewriteRule ^feed-type([^-]+)\.xml$ feed\.php\?type=$1 [L]
RewriteRule ^feed\.xml$ feed\.php [L]
RewriteRule ^buyer-show\.html$ buyer_show\.php [L]
RewriteRule ^blogger\.html$ ads\.php [L]
RewriteRule ^(.*)-c([0-9]+)-under-([a-z0-9]+)-dollar.html$ category\.php\?id=$2&utxt=$3 [QSA,L]
RewriteRule ^(.*)-c([0-9]+)$ category\.php\?id=$2 [QSA,L]
RewriteRule ^(on-sale|new-arrival|best-items|feature-product|clearance|under-5|under-10|100-in-stock)-([0-9]+)-([0-9]+)-([0-9.]+)-([0-9.]+)-([a-z]+)-([a-z_]+)-([A-Z]+)-([0-9]{1})\.html$ special\.php\?act=$1&cat_id=$2&page=$3&price_min=$4&price_max=$5&display=$6&sort=$7&order=$8&s=$9 [QSA,L]
RewriteRule ^daily-([0-9]{4}-[0-9]{2}-[0-9]{2})\.html$ daily\.php\?day=$1 [QSA,L]
转换后为:
rewrite ^/index.html$ /index.php last;
rewrite ^/category$ /index.php last;
rewrite ^/((?!guanzhou020|js|themes|print|facebook|edm).)*/(.*) /index.php last;
rewrite ^/feed-c([0-9]+).xml$ /feed.php?cat=$1 last;
rewrite ^/feed-b([0-9]+).xml$ /feed.php?brand=$1 last;
rewrite ^/feed-type([^-]+).xml$ /feed.php?type=$1 last;
rewrite ^/feed.xml$ /feed.php last;
rewrite ^/buyer-show.html$ /buyer_show.php last;
rewrite ^/blogger.html$ /ads.php last;
rewrite ^/(.*)-c([0-9]+)-under-([a-z0-9]+)-dollar.html$ /category.php?id=$2&utxt=$3 last;
rewrite ^/(.*)-c([0-9]+)$ /category.php?id=$2 last;
rewrite "^/(on-sale|new-arrival|best-items|feature-product|clearance|under-5|under-10|100-in-stock)-([0-9]+)-([0-9]+)-([0-9.]+)-([0-9.]+)-([a-z]+)-([a-z_]+)-([A-Z]+)-([0-9]{1}).html$" /special.php?act=$1&cat_id=$2&page=$3&price_min=$4&price_max=$5&display=$6&sort=$7&order=$8&s=$9 last;
rewrite "^/daily-([0-9]{4}-[0-9]{2}-[0-9]{2}).html$" /daily.php?day=$1 last;
#301
if ($http_host = it2168.com) {
rewrite ^(.*)$ https:$1 permanent;
}
或者
server {
listen 80;
server_name it2168.com;
return 301 $request_uri;
}
//以下是301转向设置
server {
server_name it2168.com;
rewrite ^/(.*)$ $1 permanent;
}
#301-START
if ($host ~ '^it2168.com'){
return 301 $request_uri;
}
#301-END
找到:网站=>配置文件
if ($host ~ '^it2168.ccom'){
return 301 https://www.it2168.ccom$request_uri;
}
一、404配置
找到:网站=>配置文件
error_page 404 /404.html;
location = /404.html {
root /www/server/nginx/html;
}
然后在:root /www/server/nginx/html 配置404.html即可生效;
相关文章:
-
帝国CMS是什么程序 帝国CMS是一套开源的静态页面程序,凭借超高的扩展性,很多知名的新闻站点、行业站点都是应用的帝国CMS后端。因为帝国CMS和dedecms一样都是生成静态页面的,所以非常利于...
-
域名解析DNS分为显性URL和隐形URL,显性URL和隐形URL有什么区别?隐形URL和显性URL哪个更有利于SEO?显性URL相当于域名了302重定向,隐形URL使用iframe框架技术隐藏真实目标地址,显性URL更有利于...
-
在常见的CMS系统中,我对dedecms算是比较熟悉的,自己网站用的也是这个系统。系统功能强大使用灵活,相信这也是它受到大多数中小站长青睐的原因。 再好的系统也有照顾不周的地方,很多站...
-
这篇文章主要为大家详细介绍了dedecms后台增加php导出excel功能实现办法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴。 不少朋友希望织梦的后台...
-
第一次使用的插件是 pdfobject.js 百度网盘下载地址:http://pan.baidu.com/s/1kUPhYdT 加载 script src=/style/js/pdfobject.js /script script type=text/javascript window.onload = function (){ var success = new PDFObject({ url: pdf文件地...
-
网上有一种方法是copy+unlink来移动文件,但是遇到大文件时会消耗大量时间,对性能不怎么友好,可以使用rename()来移动文件,速度非常快 关于rename()函数 bool rename ( string $oldname , string $newname...
-
基于我们公司可选的几种推广方式: 一、关键词优化排名推广(推荐) 指定关键词推广,按天付费,推广我们业务中最重要的一些关键词,达到百度首页才收费,大概一个关键词10元/天左右。...
-
插件介绍 wordpress程序网站在发布文章时可以给每一片文章添加与之相关的TAG标签,对于TAG标签可以生成很多页面,增加搜索引擎对内容的抓取量。 WP Auto Keywords插件就是一款能自动给文章添加...
-
5.7 生成列表页 改动 include/arc.listview.class.php 1.先设置 关闭副栏目(在系统----系统基本参数性能选项里) 2.一般网站不需要 栏目交叉 交叉 所以 找到94行注释掉: //获得交叉栏目ID /*if($this-Type...
-
使用preg_replace将删除所有空白(包括制表符等) $string = user na me $string = preg_replace(/\s+/, , $string); echo $string; // username preg_replace(/\s/u, ,$string) u (PCRE8) 此修正符打开一个与perl不兼容的附加功能. 模式...