Bagaimana cara menghapus alias halaman dari url dengan htaccess?

Nov 14 2020

Saya telah membuat cms saya sendiri dan saya menemukan masalah berikut. Tautan halaman ditampilkan seperti ini:

https://www.example.com/page/contact-us

Saya ingin mereka ditampilkan seperti ini, dengan menghapus alias halaman :

https://www.example.com/contact-us

Htaccess saya:

Opsi -MultiViews
RewriteEngine On

Aturan Penulisan Ulang ^ halaman / ([\ s \ S] *)$ single-page.php?slug=$1 [L]

Saya telah mencoba ini tetapi tidak berhasil untuk saya

RewriteEngine On
Aturan Penulisan Ulang ^ ([^ /] *)$ /page/single-page.php?slug=$1 [L]

Jawaban

2 anubhava Nov 14 2020 at 04:46
RewriteRule ^([^/]*)$ /page/single-page.php?slug=$1 [L]

Ini tidak akan berfungsi karena meneruskan semua URI ke /page/direktori yang jelas tidak ada.

Anda harus menggunakan aturan ini:

# If the request is not for a valid directory
RewriteCond %{REQUEST_FILENAME} !-d
# If the request is not for a valid file
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ single-page.php?slug=$1 [L,QSA]