作为标题,我想将我所有的php页面重写为'htm',并禁止所有.php请求,人们只能通过' .htm?querystring'之类的url访问页面,但不能通过' .php'获得结果,应该怎么做我愿意吗?我写了下面的规则,但它不起作用(所有页面都是 404)
RewriteRule ^(.*)\.htm$ $1\.php [QSA,PT,L]
RewriteRule ^(.*)\.php$ 404 [QSA,PT,L]
通过启用 mod_rewrite 和 .htaccess httpd.conf
,然后将此代码放在您.htaccess
的DOCUMENT_ROOT
目录下:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
# block .php extension
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php[\?\s] [NC]
RewriteRule ^ - [F]
# convert .htm/.html to .php
RewriteRule ^(.+?)\.html?$ $1.php [L,NC]