.htaccess 重写规则以添加.php扩展名,该扩展名不与HTTPS重定向结合使用

snz8szmq  于 8个月前  发布在  PHP
关注(0)|答案(1)|浏览(55)

我希望有人可以帮助。我想删除文件扩展名(.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?

wd2eg0qa

wd2eg0qa1#

我认为RewriteRule太复杂了。我在所有的网站上都使用以下规则:

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

# fallback to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]

相关问题