所以这是我隐藏.php扩展名的代码
RewriteEngine On
# Force https.
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Redirect non www to www excluding subdomains.
RewriteCond %{HTTP_HOST} !^(.*)\.(.*)\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Hide php extension.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
hompage index.php文件正常运行,我的意思是我可以毫无问题地访问http://www.site.tld,但如果我尝试使用http://www.site.tld/admin/,则会给我404错误。
未找到
在此服务器上找不到请求的URL /admin/.php。此外,尝试使用ErrorDocument处理请求时遇到404 Not Found错误。
编辑: 如果我删除重定向#重定向非www到www不包括子域名。代码行正在运作。
答案 0 :(得分:0)
我将隐藏扩展程序代码更改为:
RewriteRule ^(.+)\.php$ /$1 [R,L]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ /$1.php [NC,END]
现在正在运作。