Saya memasang apache2 pada pelayan Linux tempatan saya. Ia mempunyai hos maya bernama pcts.local
dan direktori akarnya ialah /var/www/repos/pcts/
. Dalam akar pcts.local ialah fail .htaccess yang cuba menulis semula url untuk memasukkan .php jika tidak diberikan seperti berikut:
http://pcts.local/ -> http://pcts.local/contact -> http://pcts.local/contact.php
Masalahnya ialah, http://pcts.local/contact
memberikan ralat 404, tetapi http://pcts.local/contact.php
daripada 200.
ServerName pcts.local ServerAdmin webmaster@localhost DocumentRoot /var/www/repos/pcts ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log digabungkan Fail.htaccess berada dalam
/var/www/repos/pcts/
RewriteEngine On RewriteBase/ RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule ^(.+)$ $1.php [NC,L]Terima kasih terlebih dahulu atas bantuan anda!
Dalam kod anda, REQUEST_FILENAME memerlukan fail dengan sambungan php untuk melakukan penulisan semula.
Cuba ini:
Jika ini adalah konfigurasi lengkap anda, fail
.htaccess
anda tidak akan diproses.Anda belum mendayakan
fail.) Secara lalai,.htaccess
覆盖。 (即,您尚未启用.htaccess
文件的解析。)默认情况下,.htaccess
ganti untuk direktori tertentu. (Iaitu, anda belum mendayakan penghuraianpenggantian dilumpuhkan.
Tetapi anda juga tidak mendayakan akses ke kawasan sistem fail ini? Pernahkah anda melakukan ini di tempat lain dalam konfigurasi pelayan? !
容器内有一个相关的
Anda sepatutnya berada di bahagianseperti ini:
Anda boleh mengehadkan lagi.htaccess
penggantian jika perlu (lihat pautan rujukan di bawah)
Rujukan: https://httpd.apache.org/docs/2.4 /mod/core.html#allowoverride