SSL .htaccess - Simple Q

Nov 13 2020

Saya benar-benar benci file ini ... Saya hanya menghabiskan 6,5 jam mencoba mencari tahu dan dengan disleksia ADHD saya tidak mungkin !! Saya memiliki domain yang saya beli untuk SSL (saat ini saya harus menunggu ssl untuk WWW masuk tetapi untuk saat ini domain tanpa WWW berfungsi, misalnya:

https://tomas.com

.Htaccess yang saya miliki di root saat ini:

RewriteEngine On
RewriteCond %{HTTP_HOST} tomas\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://tomas.com/$1 [R,L]

Dan kode di atas ternyata mengaktifkan SSL yang bagus. Masalahnya, saya memiliki beberapa file di domain root tetapi salah satunya yang disebut adalah:

hello.php (terletak di: "tomas.com/hello.php")

Jika saya pergi ke: http://tomas.com/helloSaya ingin menampilkan file itu (dan di bilah alamat harus tertulis: "http://tomas.com/hello"). Sebelum SSL saya memiliki kode ini di bawah dan berfungsi (tetapi tidak lagi):

RewriteRule ^([^/]*)/?(.*)$ $1.php

Apakah Anda tahu bagaimana seharusnya seluruh .htaccess terlihat? : /

Saya juga saat yang sama mencoba PAKSA untuk TIDAK menggunakan www (jadi jika mereka melakukannya harus dialihkan ke url non WWW) Terima kasih banyak sebelumnya !!!!!!!!!!!!

Jawaban

1 MrWhite Nov 14 2020 at 03:02

Sebelum SSL, saya memiliki kode ini di bawah dan berfungsi (tetapi tidak lagi):

RewriteRule ^([^/]*)/?(.*)$ $1.php

Tidak yakin bagaimana ini "bekerja" sebelumnya, ini tidak selesai dengan sendirinya dan melakukan lebih banyak hal hanya dengan menambahkan .phpekstensi. Anda memerlukan sesuatu untuk mencegah pengulangan penulisan ulang, karena hello.phpjuga cocok dengan polanya ^([^/]*)/?(.*)$.

Coba yang berikut ini, setelah pengalihan HTTP ke HTTPS Anda.

RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule (.*) $1.php [L]

Ini pertama-tama memeriksa bahwa file dengan .phpekstensi file ada sebelum menulis ulang secara internal.

Sebagai alternatif , Anda dapat mengaktifkan MultiView jika Anda tidak melakukan penulisan ulang URL lainnya. Misalnya, di bagian atas file Anda:

Options +MultiViews

Ini menggunakan mod_negotiation untuk pada dasarnya mengaktifkan URL tanpa ekstensi untuk semuanya !