首页  >  问答  >  正文

将 HTTPS 重定向与重写规则相结合无法添加 .php 扩展名

希望有人能够提供帮助。我想从内部链接中删除文件扩展名 (.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粉098417223P粉098417223171 天前282

全部回复(1)我来回复

  • P粉194919082

    P粉1949190822024-04-05 12:23:24

    我认为 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]

    回复
    0
  • 取消回复