疑问:

By szdbb112 at 2015-07-13 • 0人收藏 • 4232人看过

正在研究web.config这个文件,有点不懂:

  1. 这似乎是为了rewrite而写的,一共28个rule,望文生义也能看个马马虎虎。可是相关知识手册在哪里呢,如果我想自己编写一个web.config该怎么写?

  2. 可是httpd.ini,和nginx.conf好像也是为了rewrite 的rule而写,这些文件之间有什么区别和联系吗

26 个回复 | 最后更新于 2015-07-22
2015-07-13   #1

@lincanbin

2015-07-13   #2
  • httpd.ini为了个别特别旧的IIS 6-写的

  • .htaccess是为了Apache和IIS 6写的

  • nginx.conf是为了Nginx写的

  • web.config是为了IIS 7+写的

2015-07-13   #3

我是写开源项目才需要兼顾这么多Web Server写Rewrite Rule。

你如果只是自己用的项目,你根据你自己的Web Server Software写Rule就是了。

以上规则分别可以在ISAPI_Rewrite、Apache httpd、Nginx、MSDN官网找到相关手册。

2015-07-13   #4

回复#3 @lincanbin :

2015-07-13   #5

回复#3 @lincanbin :搭建好网站后怎样像你一样被大量收录呢

2015-07-13   #6

回复#5 @szdbb112 :

你只要内容没大量抄袭复制自其他网站,收录自然就会上去。

需要优化的我都优化好了,你最多就向百度提交个sitemap就行了(如果你有这个权限的话,百度的sitemap不是向所有人开放的):

http://www.94cb.com/sitemap-index.xml
2015-07-13   #7

回复#3 @lincanbin :

这两个在.htaccess上找到的,

#RewriteRule ^includes - [F,L]
RewriteRule ^favorites(/page/([0-9]*))?$ favorites.php?page=$2 [L]

可以讲一下吗,正则表达式看了还是没懂呢

2015-07-13   #8

回复#7 @szdbb112 :

匹配不定长度的十进制数字。

2015-07-13   #9

回复#8 @lincanbin :

就是那些[F,L][L]有点难以理解,前面表达式还好点

2015-07-13   #10

回复#9 @szdbb112 :

Forbidden,禁止访问。

Last,到结尾。

你去查手册就是。

2015-07-13   #11

回复#10 @lincanbin :

RewriteRule ^t/([0-9]+)(-([0-9]*))?$ topic.php?id=$1&page=$3 [L]

这里面的$1和$3代表什么呀,感觉这样好像无法准确匹配呢

2015-07-13   #12

回复#11 @szdbb112 :

前面正则匹配出来的数据,一共匹配出来3个,用第一和第三个,详情查手册。

2015-07-13   #13

回复#12 @lincanbin :

然而我并没有查阅出来是哪三个,感觉t/是第一个,0-9的数字是第二个,-0-9的数字是第三个,哪里出错了呢

2015-07-13   #14

回复#13 @szdbb112 :

一层小括号一个,一共1+2,3个。

2015-07-14   #15

亲,$Mcache是缓存吗,在哪里定义的呢

2015-07-14   #16

回复#15 @szdbb112 :

common.php,是Memcached缓存,一般是自己配置的环境才能开启,虚拟主机不会用到这个东西。

2015-07-14   #17

回复#15 @szdbb112 :

变量定义的地方,你搜索一下文件就可以发现的吧。

2015-07-20   #18

刚才在研究缓存技术,看了源码却有点摸不着头脑。这一段应该是Mcache最开始的地方吧(common.php)第31行开始

其实定义MCache为false,之后首先判断是否可以操作缓存,然后判断缓存类型,3种,然后各自new一下算是有了值啦(没去查手册,望文生义的,但是这应该是学习的起点,自行去百度谷歌吧)

$MCache = false;
if (EnableMemcache) {
	if (extension_loaded('memcached')) {
		//MemCached
		$MCache = new Memcached(MemCachePrefix . 'Cache');
		//Using persistent memcached connection
		if (!count($MCache->getServerList())) {
			$MCache->addServer(MemCacheHost, MemCachePort);
		}
	} elseif (extension_loaded('memcache')) {
		//MemCache
		$MCache = new Memcache;
		$MCache->pconnect(MemCacheHost, MemCachePort);
	} elseif (extension_loaded('redis')) {
		//Redis
		//https://github.com/phpredis/phpredis
		$MCache = new Redis();
		$MCache->pconnect(MemCacheHost, MemCachePort);
	}
}
2015-07-20   #19

在new.php中

MemCachePrefix . 'Homepage'这句实在是无法和其他地方联系起来了,这个homepage和memcacheprefix究竟在哪里啊

@lincanbin

if ($MCache) {
						$MCache->delete(MemCachePrefix . 'Homepage');
					}

登录后方可回帖

登 录
信息栏

Carbon Forum是一个基于话题的高性能轻型PHP论坛

下载地址:Carbon Forum v5.9.0
QQ群:12607708(QQ我不常上)

donate

手机支付宝扫描上方二维码可向本项目捐款

粤公网安备 44030602003677号
粤ICP备17135490号

Loading...