将 HTTPS 重定向与重写规则相结合无法添加 .php 扩展名
P粉098417223
P粉098417223 2024-04-04 15:44:30
0
1
397

希望有人能够提供帮助。我想从内部链接中删除文件扩展名 (.php),但当然我需要首先在 htaccess 中进行配置。

我相信正确的代码是

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ .php [NC,L]

但是,当我将此代码添加到预先存在的代码(强制使用 https)下方/上方时,什么也没有发生,即我仍然需要将 .php 输入到网址。

添加上述代码后,htaccess 文件如下所示:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ .php [NC,L]
RewriteCond %{SERVER_PORT} !=443
RewriteRule ^(.*)$ https://mysite/ [R=301,L]

有什么想法为什么这行不通吗?

谢谢

我一直在网上搜索,但所有帖子都说只需将重写代码添加到 htaccess,不幸的是,这不起作用。

我认为该代码与强制使用 https 的现有代码不能很好地配合?

P粉098417223
P粉098417223

全部回复(1)
P粉194919082

我认为 RewriteRule 太复杂了。我对我的所有网站使用以下内容:

# append .php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule .* rrreee.php [L]

# fallback to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!