Я пытаюсь заставить mod_rewrite работать, используя файл .htaccess на моем сервере localhost.
Мой файл apache2.conf содержит:
<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>
А также:
Include mods-enabled/*.load
Файл /etc/apache2/mods-enabled/rewrite.load содержит:
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
Файл .so существует.
service apache2 restart
показывает никаких предупреждений / ошибок
Мой .htaccess содержит:
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^?]*)$ /process.php?path=$1 [NC,L,QSA]
И он находится в /var/www/wp/wp-content/plugins/myplugin/
process.php содержит print_r($_SERVER);
Я посещаю http: // localhost / wp / wp-content / plugins / myplugin / randomstring и всегда получаю ошибку 404.
Я попытался изменить файл .htaccess на случайную строку, пытаясь вызвать ошибку 500, чтобы убедиться, что .htaccess «выполняется» (?), Но все еще получает ошибку 404, не найденную.
var_dump(in_array('mod_rewrite', apache_get_modules()));
возвращает true
Что я делаю не так? Это всегда работает на моих онлайн-серверах.