Apache2.4与Apache2.2在伪静态规则.htaccess上的差异

服务器技术 2020-06-18 12:36:15 34

导读

服务器在更换后,环境从Apache2.2升级到Apache2.4,程序配置后好发现phpcms问答社区(http://www.cmsyou.com/forum/)的伪静态失效了,而.htaccess文件是在的。检查一番发现,Apache2.4与Apache2.2在伪静态规则.htaccess在写法上存在差异,原伪静态规则文件:RewriteEngine&nbs……

服务器在更换后,环境从Apache2.2升级到Apache2.4,程序配置后好发现phpcms问答社区(http://www.cmsyou.com/forum/)的伪静态失效了,而.htaccess文件是在的。检查一番发现,Apache2.4与Apache2.2在伪静态规则.htaccess在写法上存在差异,原伪静态规则文件:

RewriteEngine On
RewriteBase /forum/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

新的:

RewriteEngine On
RewriteBase /forum/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]

发现变化了没有?Apache2.4的规则需要多谢一个问号(最后一行)

其他方面的差别有待发现,Apache2.4的mod_userdir.c模块配置文件默认存放在/etc/httpd/conf.d/userdir.conf 中 ,而Apache2.2则是在主配置文件/etc/httpd/conf/httpd.conf文件中。


1253067 TFnetwork_cn