Aktifkan penggunaan .htaccess di apache2

1

Ini mungkin tidak terkait langsung dengan Ubuntu itu sendiri, tetapi pohon direktori berbeda di sini dan saya agak bingung.

Saya memiliki situs web yang saya coba jalankan dan memuat dengan baik, tetapi sangat bergantung pada penulisan ulang URL yang tidak saya dapatkan karena arahan .htaccess mungkin tidak diaktifkan di instalasi saya. Saya telah mengikuti artikel di Ubuntu.com untuk mengaktifkan.

Ini adalah nama file terdekat ke default- 000-default.conf:

<VirtualHost *:80>
    # The ServerName directive sets the request scheme, hostname and port that
    # the server uses to identify itself. This is used when creating
    # redirection URLs. In the context of virtual hosts, the ServerName
    # specifies what hostname must appear in the request's Host: header to
    # match this virtual host. For the default virtual host (this file) this
    # value is not decisive as it is used as a last resort host regardless.
    # However, you must set it for any further virtual host explicitly.
    #ServerName www.example.com

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www

    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    # It is also possible to configure the loglevel for particular
    # modules, e.g.
    #LogLevel info ssl:warn

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    # For most configuration files from conf-available/, which are
    # enabled or disabled at a global level, it is possible to
    # include a line for only one particular virtual host. For example the
    # following line enables the CGI configuration for this host only
    # after it has been globally disabled with "a2disconf".
    #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

Saya tidak melihat ada <Directory /var/www/>blok di sini.

Bagaimana cara mengaktifkan file .htaccess saya? Saya membutuhkannya per basis proyek.

Dibatalkan
sumber

Jawaban:

3

Tambahkan ke VirtualHost:

<VirtualHost *:80>
   AccessFileName .htaccess (.htaccess is the default filename)
  ...
   <Directory /var/www/>
      Options Indexes FollowSymLinks Includes
      AllowOverride All
      Order allow,deny
      Allow from all
    </Directory>
...
</VirtualHost>

lalu mulai ulang apache:

service apache2 restart

Untuk memeriksa apakah itu berfungsi, tambahkan baris ini ke .htaccess:

ErrorDocument 404 /error404.html

untuk kesalahan 404 (halaman tidak ditemukan) penelusuran Anda harus membuka halaman kesalahan khusus Anda, dalam hal ini error404.html

girardengo
sumber
Di mana tepatnya host virtual ini? Dalam file yang saya perlihatkan di atas? Dan bagaimana saya tahu itu mulai bekerja?
Dibatalkan
Saya mengedit jawaban saya. beri tahu saya jika berhasil
girardengo
Terima kasih. Sayangnya masih belum berfungsi. Saya mendapatkan standar 404 dan skrip saya masih tidak berfungsi. Anda punya alternatif untuk ini?
Dibatalkan
mungkin jalur direktori salah: saya diedit. coba sekarang.
girardengo
0
sudo -i
sudo nano /etc/apache2/apache2.conf

Jika port 80 ubuntu Anda sedang mendarat di sini /var/www/html

(Perhatikan baik-baik bukan /var/www/ )

Tambahkan blok ini:

<directory /var/www/html>
     AllowOverride All
</directory>
Gabriel
sumber
Selamat Datang di Tanya Ubuntu! Anda mungkin ingin meningkatkan jawaban Anda dengan menjelaskan mengapa ini bisa berhasil.
Tidak Ada Waktu