Ubah ekstensi php menjadi html htaccess

Saya baru-baru ini ingin menghapus ekstensi dari situs web saya, untuk membuat URL lebih ramah pengguna dan mesin telusur. Saya menemukan tutorial tentang cara menghapus. php ekstensi dari halaman PHP. Bagaimana tentang. html? . Dalam tutorial ini saya akan menunjukkan cara melakukannya dengan mudah, dengan mengedit file. htaccess

Menghapus. php,. html,. ekstensi htm dengan. htaccess

##Apa itu. file htaccess

Sebuah. htaccess adalah file ASCII sederhana yang Anda buat dengan editor teks seperti Notepad atau TextMate. Ini menyediakan cara untuk membuat perubahan konfigurasi berdasarkan per direktori

Harap dicatat bahwa. htaccess adalah ekstensi file. Ini bukan file. htaccess, itu sederhana. htaccess

File htaccess memengaruhi direktori tempatnya ditempatkan dan semua subdirektori. Misalnya jika ada. htaccess berada di direktori root situs Anda. com, itu akan memengaruhi situs Anda. com/content/, situs Anda. com/content/gambar/, dll

Penting untuk diingat bahwa ini dapat dicegah — misalnya jika Anda tidak menginginkan kepastian. htaccess untuk memengaruhi direktori tertentu — dengan menempatkan yang baru. htaccess di dalam direktori yang tidak ingin Anda pengaruhi dengan perubahan, dan menghapus perintah tertentu dari yang baru. htaccess yang tidak Anda inginkan memengaruhi direktori ini

##Fitur

Dengan sebuah. htaccess Anda bisa

  • Redirect pengguna ke halaman yang berbeda
  • Sandi melindungi direktori tertentu
  • Blokir pengguna dengan IP
  • Mencegah tautan panas gambar Anda
  • Tulis ulang URI
  • Tentukan Dokumen Kesalahan Anda sendiri

Dalam tutorial ini kita hanya akan berfokus pada menulis ulang URI

##Menghapus Ekstensi

Untuk menghapus. php dari file PHP misalnya yoursite. com/wallpaper. php ke situs Anda. com/wallpaper Anda harus menambahkan kode berikut di dalam. htaccess

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

Jika Anda ingin menghapus. html dari file html misalnya situsAnda. com/wallpaper. html ke situs Anda. com/wallpaper Anda hanya perlu mengubah baris terakhir dari kode di atas agar sesuai dengan nama file

RewriteRule ^([^\.]+)$ $1.html [NC,L]
_

Itu dia. Anda sekarang dapat menautkan halaman di dalam dokumen HTML tanpa perlu menambahkan ekstensi halaman. Misalnya

<a href="http://whatever.com/wallpaper" title="wallpaper">wallpaper</a>

##Menambahkan garis miring di bagian akhir

Saya menerima banyak permintaan yang menanyakan bagaimana cara menambahkan garis miring di bagian akhir. Abaikan cuplikan pertama dan masukkan kode berikut. Empat baris pertama berurusan dengan penghapusan ekstensi dan yang berikutnya, dengan penambahan garis miring dan pengalihan. Tautkan ke file HTML atau PHP seperti yang ditunjukkan di atas. Jangan lupa untuk mengubah kodenya jika ingin diterapkan pada file HTML

RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^/]+)/$ $1.php RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$ RewriteRule (.*)$ /$1/ [R=301,L]

Beberapa orang bertanya bagaimana Anda dapat menghapus ekstensi dari file HTML dan PHP. Saya belum punya solusi pengkodean untuk itu. Tapi, Anda bisa mengubah ekstensi file HTML Anda dari. html atau. htm ke. php dan tambahkan kode untuk menghapus. php ekstensi

##Kesimpulan Bagi mereka yang tidak begitu berpengalaman dengan. htaccess ada alat online untuk membuat. file htaccess. Ini cukup bagus untuk pengguna pemula dan sangat mudah digunakan. Kunjungi situs web mereka

##Pembaruan

Perhatian pengguna GoDaddy. Untuk menghapus ekstensi, Anda harus mengaktifkan MultiView sebelumnya. Kode akan terlihat seperti ini

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

Jika Anda khawatir mesin telusur dapat mengindeks halaman ini sebagai konten duplikat, tambahkan tag meta kanonis di kepala HTML Anda

Seorang pembaca baru-baru ini bertanya bagaimana cara menambah atau menghapus ekstensi file .html dari berbagai URL. Solusinya tentu saja ditemukan di modul penulisan ulang ajaib Apache, mod_rewrite. Menggunakan beberapa arahan RewriteRule_ yang ditulis dengan baik dalam file htaccess dari direktori root atau target situs Anda, memodifikasi ekstensi file dalam URI relatif sederhana. Tutorial ini menjelaskan bagaimana hal itu dilakukan

Menambahkan Ekstensi File

Khusus untuk penggemar copy-&-paste, berikut adalah contoh kode lengkap untuk menambahkan ekstensi file melalui. htaccess

# add file extensions
RewriteEngine on
RewriteRule ^business/$ /business.html [R=301,L]
RewriteRule ^pleasure/$ /pleasure.htm  [R=301,L]
RewriteRule ^content/$  /content.php   [R=301,L]

Terlihat cukup mudah?

Baris pertama, inisialisasi mod_rewrite Apache. Kemudian, di awal setiap baris berikutnya, kami memanggil direktif RewriteRule yang kuat, yang menginstruksikan server untuk mencocokkan semua instance dari string pertama dan menerapkannya sesuai dengan pola yang dijelaskan dalam string kedua. Terakhir, kami mengakhiri setiap baris dengan mengembalikan kode status 301, sehingga memberi tahu mesin telusur dan klien lain bahwa perubahan alamat bersifat permanen. Perhatikan file target harus ada di server agar pekerjaan ini (mis. e. , sumber daya yang tidak ada berakhir sebagai 404 kesalahan)

Menggali lebih dalam target dan string pola, kita melihat bahwa kita telah menentukan tiga direktori,

# remove file extensions
RewriteEngine on
RewriteRule ^(.*).html$ http://domain.tld/$1 [R=301,L]
RewriteRule ^(.*).htm$  http://domain.tld/$1 [R=301,L]
RewriteRule ^(.*).php$  http://domain.tld/$1 [R=301,L]
0,
# remove file extensions
RewriteEngine on
RewriteRule ^(.*).html$ http://domain.tld/$1 [R=301,L]
RewriteRule ^(.*).htm$  http://domain.tld/$1 [R=301,L]
RewriteRule ^(.*).php$  http://domain.tld/$1 [R=301,L]
1, dan
# remove file extensions
RewriteEngine on
RewriteRule ^(.*).html$ http://domain.tld/$1 [R=301,L]
RewriteRule ^(.*).htm$  http://domain.tld/$1 [R=301,L]
RewriteRule ^(.*).php$  http://domain.tld/$1 [R=301,L]
2. Simbol tanda sisipan (
# remove file extensions
RewriteEngine on
RewriteRule ^(.*).html$ http://domain.tld/$1 [R=301,L]
RewriteRule ^(.*).htm$  http://domain.tld/$1 [R=301,L]
RewriteRule ^(.*).php$  http://domain.tld/$1 [R=301,L]
_3) dan tanda dolar (
# remove file extensions
RewriteEngine on
RewriteRule ^(.*).html$ http://domain.tld/$1 [R=301,L]
RewriteRule ^(.*).htm$  http://domain.tld/$1 [R=301,L]
RewriteRule ^(.*).php$  http://domain.tld/$1 [R=301,L]
4) yang membungkus setiap nama direktori cukup menunjukkan masing-masing awal dan akhir string. Setelah RewriteRule cocok dengan salah satu direktori target, URL ditulis ulang sesuai dengan string pola yang ditentukan. Untuk setiap direktori dalam contoh, string pola hanyalah nama direktori dengan jenis file yang diinginkan ditambahkan di bagian akhir

Menyesuaikan dan menggunakan kode ini sangatlah mudah. Gunakan baris sebanyak yang diperlukan, tentukan semua direktori yang ingin Anda tambahkan ekstensi file. Kemudian, di string pola, tentukan nama file yang ingin Anda gunakan, beserta ekstensi file terkait. Untuk menulis ulang nama direktori sebagai file di dalam direktori lain, cukup ubah

# remove file extensions
RewriteEngine on
RewriteRule ^(.*).html$ http://domain.tld/$1 [R=301,L]
RewriteRule ^(.*).htm$  http://domain.tld/$1 [R=301,L]
RewriteRule ^(.*).php$  http://domain.tld/$1 [R=301,L]
6 menjadi
# remove file extensions
RewriteEngine on
RewriteRule ^(.*).html$ http://domain.tld/$1 [R=301,L]
RewriteRule ^(.*).htm$  http://domain.tld/$1 [R=301,L]
RewriteRule ^(.*).php$  http://domain.tld/$1 [R=301,L]
7 atau sesuatu yang gila seperti
# remove file extensions
RewriteEngine on
RewriteRule ^(.*).html$ http://domain.tld/$1 [R=301,L]
RewriteRule ^(.*).htm$  http://domain.tld/$1 [R=301,L]
RewriteRule ^(.*).php$  http://domain.tld/$1 [R=301,L]
8. Itu sepenuhnya terserah Anda

Menghapus Ekstensi File

Sekali lagi, untuk semua pemburu copy-&-paste di luar sana, berikut adalah contoh kode lengkap untuk menghapus ekstensi file melalui. htaccess

# remove file extensions
RewriteEngine on
RewriteRule ^(.*).html$ http://domain.tld/$1 [R=301,L]
RewriteRule ^(.*).htm$  http://domain.tld/$1 [R=301,L]
RewriteRule ^(.*).php$  http://domain.tld/$1 [R=301,L]
_

Sekarang kita telah melihat contoh umum, mari kita uraikan

Pertama, kita jalankan Apache mod_rewrite. Kemudian, kami memohon kekuatan magis dari arahan RewriteRule dan melanjutkan untuk mendeklarasikan string target kami. Dalam contoh, kami menargetkan tiga jenis file yang berbeda, .html,

# change file extensions
RewriteEngine on
RewriteRule ^(.*).html$ http://domain.tld/$1.axe [R=301,L]
RewriteRule ^(.*).htm$  http://domain.tld/$1.biz [R=301,L]
RewriteRule ^(.*).php$  http://domain.tld/$1.yay [R=301,L]
2, dan
# change file extensions
RewriteEngine on
RewriteRule ^(.*).html$ http://domain.tld/$1.axe [R=301,L]
RewriteRule ^(.*).htm$  http://domain.tld/$1.biz [R=301,L]
RewriteRule ^(.*).php$  http://domain.tld/$1.yay [R=301,L]
3. Setiap jenis file ini muncul setelah operator wildcard (
# change file extensions
RewriteEngine on
RewriteRule ^(.*).html$ http://domain.tld/$1.axe [R=301,L]
RewriteRule ^(.*).htm$  http://domain.tld/$1.biz [R=301,L]
RewriteRule ^(.*).php$  http://domain.tld/$1.yay [R=301,L]
4) untuk mencocokkan file apa pun dengan ekstensi tersebut. Terakhir, kami menentukan awal dan akhir string target dengan simbol tanda sisipan (
# remove file extensions
RewriteEngine on
RewriteRule ^(.*).html$ http://domain.tld/$1 [R=301,L]
RewriteRule ^(.*).htm$  http://domain.tld/$1 [R=301,L]
RewriteRule ^(.*).php$  http://domain.tld/$1 [R=301,L]
3) dan tanda dolar (
# remove file extensions
RewriteEngine on
RewriteRule ^(.*).html$ http://domain.tld/$1 [R=301,L]
RewriteRule ^(.*).htm$  http://domain.tld/$1 [R=301,L]
RewriteRule ^(.*).php$  http://domain.tld/$1 [R=301,L]
4), masing-masing. Pada titik ini, jika Anda menyesuaikan kode untuk penggunaan Anda sendiri, ganti ekstensi yang tercantum dengan ekstensi yang ingin Anda hapus. Seperti sebelumnya, perhatikan bahwa file target harus ada di server agar teknik ini berfungsi

Sekarang kita telah menentukan string target kita, kita ingin menentukan pola penulisan ulang masing-masing. Dalam contoh, kami berasumsi bahwa file target terletak di direktori root situs (mis. e. ,

# change file extensions
RewriteEngine on
RewriteRule ^(.*).html$ http://domain.tld/$1.axe [R=301,L]
RewriteRule ^(.*).htm$  http://domain.tld/$1.biz [R=301,L]
RewriteRule ^(.*).php$  http://domain.tld/$1.yay [R=301,L]
_7). Mengingat bahwa kami ingin menghapus ekstensi file target dan tidak ingin mengubah lokasi yang diwakilinya, kami cukup menambahkan nama file yang cocok ke domain yang kami tentukan menggunakan variabel penulisan ulang,
# change file extensions
RewriteEngine on
RewriteRule ^(.*).html$ http://domain.tld/$1.axe [R=301,L]
RewriteRule ^(.*).htm$  http://domain.tld/$1.biz [R=301,L]
RewriteRule ^(.*).php$  http://domain.tld/$1.yay [R=301,L]
8. Variabel ini hanya mewakili bagian dari string target yang cocok dengan operator wildcard (
# change file extensions
RewriteEngine on
RewriteRule ^(.*).html$ http://domain.tld/$1.axe [R=301,L]
RewriteRule ^(.*).htm$  http://domain.tld/$1.biz [R=301,L]
RewriteRule ^(.*).php$  http://domain.tld/$1.yay [R=301,L]
4). Dengan demikian, nama file tanpa ekstensi dicocokkan dan selanjutnya ditulis ulang sebagai subdirektori dari domain target kami

Bagian terakhir di setiap arahan penulisan ulang kami memastikan bahwa penulisan ulang kami mengembalikan kode status 301 SEO-friendly. Dengan mengembalikan kode 301 untuk setiap penulisan ulang, kami memberi tahu mesin telusur, browser, dan klien lain secara efektif bahwa perubahan alamat bersifat permanen. Meneruskan informasi tersebut ke mesin pencari memastikan bahwa halaman Anda mempertahankan nilai tautan masuk mereka. 301, sayang. 301

Mengubah Ekstensi File

Last but not least, mari kita cepat melihat teknik serupa untuk mengubah ekstensi file. Inilah lucunya

# change file extensions
RewriteEngine on
RewriteRule ^(.*).html$ http://domain.tld/$1.axe [R=301,L]
RewriteRule ^(.*).htm$  http://domain.tld/$1.biz [R=301,L]
RewriteRule ^(.*).php$  http://domain.tld/$1.yay [R=301,L]

Logika yang digunakan di sini pada dasarnya sama dengan dua teknik sebelumnya (menambah dan menghapus ekstensi), jadi saya tidak akan membahasnya lagi. Satu-satunya perbedaan nyata adalah penambahan jenis file yang diinginkan pada setiap jalur target. Jadi dengan kode ini, pengalihan berikut akan terjadi (berurutan)

  • Setiap permintaan untuk file .html dialihkan ke file dengan nama yang sama
    # hide file extensions
    <IfModule mod_rewrite.c>
    	RewriteCond %{REQUEST_FILENAME} !-f
    	RewriteCond %{REQUEST_FILENAME} !-d
    	RewriteCond %{REQUEST_FILENAME}\.html -f
    	RewriteRule ^(.+)$ $1\.html [R=301,L]
    </IfModule>
    3
  • Setiap permintaan untuk file
    # change file extensions
    RewriteEngine on
    RewriteRule ^(.*).html$ http://domain.tld/$1.axe [R=301,L]
    RewriteRule ^(.*).htm$  http://domain.tld/$1.biz [R=301,L]
    RewriteRule ^(.*).php$  http://domain.tld/$1.yay [R=301,L]
    _2 dialihkan ke file
    # hide file extensions
    <IfModule mod_rewrite.c>
    	RewriteCond %{REQUEST_FILENAME} !-f
    	RewriteCond %{REQUEST_FILENAME} !-d
    	RewriteCond %{REQUEST_FILENAME}\.html -f
    	RewriteRule ^(.+)$ $1\.html [R=301,L]
    </IfModule>
    5 dengan nama yang sama
  • Setiap permintaan untuk file
    # change file extensions
    RewriteEngine on
    RewriteRule ^(.*).html$ http://domain.tld/$1.axe [R=301,L]
    RewriteRule ^(.*).htm$  http://domain.tld/$1.biz [R=301,L]
    RewriteRule ^(.*).php$  http://domain.tld/$1.yay [R=301,L]
    _3 dialihkan ke file dengan nama yang sama
    # hide file extensions
    <IfModule mod_rewrite.c>
    	RewriteCond %{REQUEST_FILENAME} !-f
    	RewriteCond %{REQUEST_FILENAME} !-d
    	RewriteCond %{REQUEST_FILENAME}\.html -f
    	RewriteRule ^(.+)$ $1\.html [R=301,L]
    </IfModule>
    7

Sekali lagi, logika di balik arahan ini dijelaskan di salah satu dari dua teknik sebelumnya, sehingga Anda dapat memeriksanya untuk detail lebih lanjut tentang cara penulisan ulang ini beroperasi. Dan tentu saja, ingatlah untuk menguji secara menyeluruh dan membuat cadangan file Anda dengan baik sebelum melakukan perubahan apa pun; . Jadi ya. ini saat yang tepat untuk mengarahkan ulang barang. htaccess ;)

Teknik Alternatif

Berikut adalah teknik alternatif yang disarankan pembaca untuk menambahkan ekstensi file .html

# hide file extensions
<IfModule mod_rewrite.c>
	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond %{REQUEST_FILENAME} !-d
	RewriteCond %{REQUEST_FILENAME}\.html -f
	RewriteRule ^(.+)$ $1\.html [R=301,L]
</IfModule>

Saya belum menguji ini secara pribadi, tetapi kelihatannya sah. Begini cara kerja logikanya

  1. Pastikan file yang diminta tidak ada
  2. Pastikan direktori yang diminta tidak ada
  3. Pastikan versi .html_ file yang diminta memang ada
  4. Jika ketiga kondisi ini terpenuhi, maka alihkan semua permintaan ke target .html mereka

Hal yang keren tentang metode ini adalah pertama-tama memeriksa untuk melihat apakah file target ada sebelum menulis ulang URL. Sesuatu untuk diintegrasikan ke salah satu teknik sebelumnya untuk penanganan permintaan yang lebih kuat. Ingatlah selalu untuk menyimpan cadangan yang sehat dan menguji secara menyeluruh sebelum menjalankan apa pun

Bagaimana cara menghapus ekstensi file php?

Cara Menghapus. .
Buka file htaccess. Buka terminal dan jalankan perintah berikut untuk membuka. file htaccess. .
Menghapus. ekstensi php dari URL. .
Mulai ulang server web Apache. Restart server Apache dengan mengikuti perintah $ sudo systemctl restart httpd

Cara Penggunaan. htaccess di php?

Anda dapat menggunakan. htaccess untuk mengatur konfigurasi server untuk direktori tertentu. .
Ubah halaman awal default. Misalkan Anda ingin mengubah beranda Anda (mis. g. indeks. .
Blokir IP atau rentang IP tertentu. Anda juga dapat memblokir alamat IP tertentu atau rentang alamat IP agar tidak mengunjungi situs web Anda

Bagaimana cara menyembunyikan ekstensi php?

Dengan menonaktifkan expose_php di php Anda. ini file , Anda mengurangi jumlah informasi yang tersedia untuk mereka. Agar ini berfungsi secara efektif, Anda harus mengganti nama file PHP Anda dengan ekstensi di atas.

Bagaimana cara menyembunyikan ekstensi URL di HTML?

ekstensi html dapat dihapus dengan mudah dengan mengedit file. file htaccess .