cari

Rumah  >  Soal Jawab  >  teks badan

Ralat 404 pada hos maya menggunakan fail .htaccess tersuai

<p>Saya memasang apache2 pada pelayan Linux tempatan saya. Ia mempunyai hos maya bernama <code>pcts.local</code> dan direktori akarnya ialah <code>/var/www/repos/pcts/</code>. Dalam akar pcts.local ialah fail .htaccess yang cuba menulis semula url untuk memasukkan .php jika tidak diberikan seperti berikut: </p> <pre class="brush:php;toolbar:false;">http://pcts.local/ -> http://pcts.local/contact -> http://pcts.local/contact.php</pre> <p>Masalahnya ialah, <code>http://pcts.local/contact</code> memberikan ralat 404, tetapi <code>http://pcts.local/contact.php</code> daripada 200. </p> <h3>Konfigurasi hos maya: </h3> <pre class="brush:php;toolbar:false;"><VirtualHost *:80> ServerName pcts.local ServerAdmin webmaster@localhost DocumentRoot /var/www/repos/pcts ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log digabungkan </VirtualHost></pra> Fail <h3>.htaccess berada dalam <code>/var/www/repos/pcts/</code></h3> <pre class="brush:php;toolbar:false;">RewriteEngine On RewriteBase/ RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule ^(.+)$ $1.php [NC,L]</pre> <p>Terima kasih terlebih dahulu atas bantuan anda! </p>
P粉729198207P粉729198207489 hari yang lalu730

membalas semua(2)saya akan balas

  • P粉151720173

    P粉1517201732023-09-06 08:47:09

    Dalam kod anda, REQUEST_FILENAME memerlukan fail dengan sambungan php untuk melakukan penulisan semula.

    Cuba ini:

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

    balas
    0
  • P粉009828788

    P粉0098287882023-09-06 00:02:49

    Jika ini adalah konfigurasi lengkap anda, fail .htaccess anda tidak akan diproses.

    Anda belum mendayakan .htaccess 覆盖。 (即,您尚未启用 .htaccess 文件的解析。)默认情况下,.htaccess ganti untuk direktori tertentu. (Iaitu, anda belum mendayakan penghuraian

    fail.) Secara lalai,

    penggantian 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 bahagian

    seperti ini: .htaccess

    <Directory /var/www/repos/pcts>
        # Enable .htaccess overrides
        AllowOverride All
    
        # Allow user access to this directory
        Require all granted
    </Directory>

    Anda boleh mengehadkan lagi

    penggantian jika perlu (lihat pautan rujukan di bawah)

      Rujukan:
    • https://httpd.apache.org/docs/2.4 /mod/core.html#allowoverride
    🎜 🎜

    balas
    0
  • Batalbalas