.htaccess Tulis ulang aturan untuk subfolder yang tidak diketahui
saya menghadapi masalah berikut:
Struktur folder saya di server adalah: public_html / projects /
Tampilan hierarki: tampilan hierarki struktur folder
Di folder public_html ada file .htaccess .
Di dalam folder proyek, mitra saya akan membuat folder numerus dengan halaman arahan di dalamnya (katakanlah hanya file index.php)
Aturan penulisan ulang yang saya coba terapkan adalah bahasa dan parameter url mata uang .
Jadi, misalnya url ini: https://www.example.com/projects/whatever-project-name/index.php?lang=en¤cy=eur
harus diterjemahkan ke: https://www.example.com/projects/whatever-project-name/en/eur/
Selain itu, variabel mata uang bersifat opsional. (Variabel bahasa adalah variabel wajib)
Jadi urlnya mungkin seperti ini juga: https://www.example.com/projects/whatever-project-name/en/
Saya mencari dan mencoba (dan menangis) beberapa hari sekarang untuk memecahkan masalah ini. Satu-satunya solusi yang dekat dengan saya adalah ini: RewriteRule untuk direktori yang tidak diketahui
tetapi saya tidak berhasil membuatnya berhasil.
Apa yang saya miliki sampai sekarang (tetapi tidak berfungsi dengan baik) adalah:
RewriteEngine On
RewriteRule ^(.*/)?/([a-zA-Z0-9]{2,3})/([a-zA-Z0-9-]+)/?$ projects/$1index.php?lang=$2¤cy=$3
RewriteRule ^(.*/)?/([a-zA-Z0-9]{2,3})/?$ projects/$1index.php?lang=$2[L]
Jawaban
Berdasarkan contoh yang Anda tunjukkan, dapatkah Anda mencoba mengikuti. Harap pastikan Anda mengosongkan cache browser sebelum menguji URL Anda.
RewriteEngine ON
##With currency variable in URI.
RewriteCond %{REQUEST_URI} ^/projects/([\w-]+)/en/([\w-]+)/?$ [NC] RewriteRule ^(.*)$ projects/%1/index.php?lang=en¤cy=%2 [L]
##Without currency variable in URI.
RewriteCond %{REQUEST_URI} ^/projects/([\w-]+)/en/?$ [NC] RewriteRule ^(.*)$ projects/%1/index.php?lang=en [L]