Если я правильно понимаю, мне нужно поместить что-то в php.ini
чтобы включить mod_rewrite. Если это так, что мне нужно добавить в php.ini
?
Нет, mod_rewrite
– это модуль Apache и не имеет ничего общего с PHP.
Чтобы активировать модуль, следующая строка в httpd.conf
должна быть активной:
LoadModule rewrite_module modules/mod_rewrite.so
чтобы убедиться, что он уже активен, попробуйте поместить файл .htaccess
в веб-каталог, содержащий строку
RewriteEngine on
если это работает, не выкидывая ошибку внутреннего внутреннего сервера 500, а файл .htaccess
обрабатывается, выполняется переписывание URL-адресов.
Просто fyi для людей, поддерживающих mod_rewrite на Debian с Apache2:
Чтобы проверить, включен ли mod_rewrite:
Посмотрите в mods_enabled для ссылки на модуль, запустив
ls /etc/apache2/mods-enabled | grep rewrite
Если это выдает rewrite.load
тогда модуль включен. (Примечание: ваш путь к apache2 может не быть / etc /, хотя это, вероятно, будет.)
Чтобы включить mod_rewrite, если это еще не сделано :
Включите модуль (по существу создайте ссылку, которую мы искали выше):
a2enmod rewrite
Перезагрузите все файлы конфигурации apache:
service apache2 restart
В моем случае проблема возникла даже после всех этих конфигураций (@Pekka упомянул об изменениях в файлах httpd.conf и .htaccess). Это было разрешено только после добавления
<Directory "project/path"> Order allow,deny Allow from all AllowOverride All </Directory>
к конфигурации виртуального хоста в файле vhost
Редактировать 29/09/2017
<VirtualHost dropbox.local:80> DocumentRoot "E:/Documenten/Dropbox/Dropbox/dummy-htdocs" ServerName dropbox.local ErrorLog "logs/dropbox.local-error.log" CustomLog "logs/dropbox.local-access.log" combined <Directory "E:/Documenten/Dropbox/Dropbox/dummy-htdocs"> # AllowOverride All # Deprecated # Order Allow,Deny # Deprecated # Allow from all # Deprecated # --New way of doing it Require all granted </Directory>
Модуль rewrite_module встроен в сервер в большинстве случаев
Использовать .htaccess
Используйте генератор перезаписи мод по адресу http://www.generateit.net/mod-rewrite/
Нет, вам не нужно. mod_rewrite
– это модуль Apache. Это не имеет никакого отношения к php.ini
.
сетевые решения предлагают совет поместить php.ini в cgi-bin, чтобы включить mod_rewrite
если это связано с сайтом хостинга, то спросите о своем хостинге или если вы хотите включить его на локальном компьютере, то проверьте это пошаговое учебное пособие по youtube, связанное с включением перезаписи модуля в wamp apache https://youtu.be/xIspOX9FuVU?t=1m43s
Значок Wamp Server -> Apache -> Apache Modules и проверьте параметр перезаписи, который нужно проверить, но после этого вам нужно перезагрузить все службы
Чтобы использовать mod_rewrite, вы можете ввести следующую команду в терминал:
$ su $ passwd ********** # a2enmod rewrite
Перезапустить apache2 после
# service apache2 restart # /etc/init.d/apache2 restart
или
# service apache2 restart