我希望有人能够提供帮助。我想从内部链接中删除文件扩展名 (.php),但当然我需要首先在 htaccess 中进行配置。
我相信正确的代码是
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
但是,当我将此代码添加到预先存在的代码(强制使用https)下方/上方时,什么也没有发生,即我仍然需要在URL中输入.php。
添加上述代码后,htaccess 文件如下所示:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteCond %{SERVER_PORT} !=443
RewriteRule ^(.*)$ https://mysite/$1 [R=301,L]
有什么想法为什么这行不通吗?
谢谢
我一直在网上搜索,但所有帖子都说只需将重写代码添加到 htaccess,不幸的是这不起作用。
我认为该代码与强制使用 https 的现有代码不能很好地配合?
尝试将此片段添加到您的
.htaccess
文件中
RewriteEngine On
RewriteBase /custom/
RewriteCond %{THE_REQUEST} /custom/(?:index)?(.*?)\.php[\s?] [NC]
RewriteRule ^ %1/ [R=301,L,NE]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+?)/?$ $1.php [L]