Mod_rewrite etkin olup olmadığını nasıl test edebilirim?


17

Ben ubuntu 12.04 yeni bir yükleme, apache2 üzerinde wordpress için bir ortam kuruyorum.

Kolay URL'lerin çalışmasını sağlamak için mod_rewrite kurmaya çalışıyorum. İnternette bulduğum bazı talimatları izledim ve a2enmod kullandım.

Şimdi. apache'yi yeniden başlattıktan sonra modülün gerçekten yüklü olup olmadığını kontrol etmek istiyorum.

Yüklü modüllerin listesini almak için bulduğum komut şudur:

apache2 -t -D DUMP_MODULES

Ancak, bu bir hata döndürür:

apache2: hatalı kullanıcı adı $ {APACHE_RUN_USER}

Peki, yüklü tüm modülleri nasıl listeleyebilirim veya mod_rewrite'in etkin olup olmadığını nasıl kontrol edebilirim?

Yanıtlar:


18

KM01 demekti apachectlama bu size ihtiyacınız olanı vermeyecek. Bu, bazı durum bilgileri vermenin yanı sıra sunucunun başlatılmasını / durdurulmasını / yeniden başlatılmasını kontrol eder. Php dosyası seçeneği çalışır, ancak sizin tarafınızdan bazı ekstra iş gerektirir. Bunun yerine, komut satırından php çalıştırmayı deneyin: $ php -i. Bu phpinfo(), yalnızca komut satırında çıktıları verir.

Derlenmiş modüllerin listesini çalıştırarak alabilirsiniz $ apache2 -l, ancak bu LoadModule (veya diğer) yönergelerini kullanarak dinamik olarak yüklenen modüllerin görüntülenmesine yardımcı olmaz.

İçindeki modüllere bakarak hangi modüllerin dinamik olarak yüklendiğini görebilirsiniz /etc/apache2/mods-enabled/. Bazılarının yapılandırma için aynı dizinde ek bir conf dosyası vardır. Bu modüller iki kez YÜKLENMEZ. Dinamik olarak yüklenecek modüllerin listesini bakarak görebilirsiniz /etc/apache2/mods-available/. Bunları ile komut satırında etkinleştirebilirsiniz $ a2enmod <module_name>. Bunları ile kaldırabilirsiniz $ a2dismod <module_name>.

Etkinleştirmeyi / devre dışı bırakmayı bitirdiğinizde, apache'yi $ service apache2 restartveya ile yeniden başlatmalısınız $ apachectl graceful. Bu çalışmanın tümünü olmasa da çoğunu yapmak için root (sudo) ayrıcalıklarına ihtiyacınız olacaktır.


4

1) <?php phpinfo(); ?>Bir php dosyası yazın ve kaydedin ve bu dosyayı sunucuda çalıştırın.

2) Ve şimdi bilgi listesini tarayıcınızın arama menüsünden “mod_rewrite” sözcüğünü arayabilirsiniz

3) “Yüklü Modüller” bölümünde bulunursa, bu modül aşağıdaki resimde gördüğünüz gibi önceden yüklenmiştir, aksi takdirde mod_rewrite modülünü etkinleştirmek için bir sonraki adıma geçmeniz gerekir.

kaynak: http://roshanbh.com.np/2008/04/check-enable-mod_rewrite-apache.html


4

apache2Komut kullanmak yerine , apachectlkomutunuz var mı? İle aynı konumda olmalıdır apache2. Veya komutu kullanarak yükseltilmiş ayrıcalıklarla yürütebilirsiniz.sudo apache2 -t -D DUMP_MODULES


2

@Richard'ın açıkladığı gibi, ancak bunu başarmak için yapmanız gereken şey, aşağıdaki içeriğe sahip bir dosyaya sahip olmaktır:

<?php
    phpinfo();
?>

Bu, apache / php yapılandırmanız hakkında çeşitli bilgiler yazdırır. Orada bulacağınız diğer yararlı şeyler imagick yüklü olup olmadığı olacaktır. Tüm yüklü apache modülleri de orada.


2

PHP bilgisi, etkin olup olmadığını her zaman göstermez. Afedersiniz!

Ancak, Yığın taşması Bu sayfayı aşkın gelmez doğru yönde işaret olsun.

Alternatif olarak, hepsini listelemek için bazı php:

<?php foreach( apache_get_modules() as $module ) echo "$module<br />";  ?>

2
Haklısınız, phpinfo (veya apache uzantısıyla) çözümü yalnızca PHP bir Apache modülü olarak derlenmiş / kullanılıyorsa çalışır. * CGI, FPM, vb. İçinde değil. Ayrıca, mod_rewrite yüklenebilir (LoadModule) ancak AllowOverride ve / veya Options'a göre yeniden yazma reddedilebilir.
julp

2

Sadece mod_rewrite.phpkök dizininizde dosya oluşturun ve aşağıdaki kodu buraya yerleştirin:

<?php 
echo
"Mod_rewrite is activated!"
; ?>

Şimdi eski .htaccessdosyanızı yeniden adlandırın

Sadece yeni .htaccess dosyası oluşturun ve aşağıdaki kodu yerleştirin.

RewriteEngine On
RewriteRule ^.*$ mod_rewrite.php

Şimdi kaydet'e basın.

Ardından sitenizi ziyaret ederek bir mesaj alacaksınız.


2

Terminal tipinde centos 6.5+ üzerinde

httpd -M | grep 'rewrite'

Yanıtta rewrite_module (paylaşılan) yüklendiğini görebilirsiniz. Grep 'rewrite' öğesini kaldırabilir ve Apache yüklemeniz için tüm modüllerin listesini alabilirsiniz.


0

httpd2 -MYüklü modüllerin listesini veren terminalde kök olarak suse tipi . httpd2 -lsadece derlenmiş modülleri verir. Bu apache 2.4 için çalışır

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.