首頁  >  問答  >  主體

將 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粉098417223221 天前400

全部回覆(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
  • 取消回覆