Yolu yeniden yazmak için .htaccess dosyasını etkinleştirme (çalışmıyor)


17

Tüm eğiticiler şunları düzenlememi söylüyor: /etc/apache2/sites-available/defaultancak bu dosya benim için mevcut değil. Bu dosya içinde ben düzenlemek gerekir:

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
#AllowOverride All
#AllowOverride AuthConfig FileInfo Indexes Limit Options=All, MultiViews        
Order allow,deny
allow from all </Directory>

Dosya neye benzemeli ve kendim mi oluşturmalıyım?

Ayrıca bir dosyam var 000-default.confama yukarıdaki 'kod' da orada değil.

Yanıtlar:


60

Apache sürüm 2.4 ve üstü için şu adrese gitmelisiniz:

/etc/apache2/apache2.conf

Bu dosyayı düzenlemeniz gerekir (root izniniz olmalıdır). Dizin metnini bu şekilde değiştirin;

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Şimdi apache'yi yeniden başlatın.

service apache2 restart

Umarım çalışır.


Bunun ne yaptığını açıklayabilir misiniz? Bu .htaccess ile nasıl bağlantı kurar? .Htaccess hiç okunmuyor.
chx101

1
Buradaki önemli satır AllowOverride All, bu, tüm ayarların .htaccessdosyalarda ayarlanabileceği (geçersiz kılınabileceği) anlamına gelir . Dokümanlara bakın: httpd.apache.org/docs/2.4/mod/core.html#allowoverride
jacwah

18

Ubuntu 14.04 (ve Apache 2.4) varsayılan DocumentRoot / var / www yerine / var / www / html olarak değiştirildi.

önce a2enmod'u etkinleştir

sudo a2enmod rewrite 

ve

sudo service apache2 restart

sudo nano /etc/apache2/sites-enabled/000-default.conf

sonunda bu satırları ekle

<Directory /var/www/html>
    AllowOverride All
 </Directory>

ve

sudo service apache2 restart

1
Bu çözüm benim için çalışıyor, çünkü önce mod_rewrite'ı etkinleştirmem gerekiyor. Çok teşekkürler.
kishor10d

1
Bu gerçekten apache 2.4 için çalıştı. Günümü kurtardım. Düzenledikten sonra bile maache apache2.conf .htaccess işe yaramadı ama bu şekilde çalıştı.
Faisal Sarfraz

9

Her yükseltmede / güncellemede aynı yapılandırmayı tekrarlamak istemiyorsanız

En iyi yol:

Bir yapılandırma dosyasını düzenleme veya oluşturma

/etc/apache2/conf-available/httpd.conf

Ekle

<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>

Yapılandırma dosyasını etkinleştir

sudo a2enconf httpd

Apache'yi yeniden başlatın veya yeniden yükleyin

sudo service apache2 restart

veya

sudo service apache2 reload

Bitti!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.