Если я правильно понимаю, мне нужно поместить что-то в php.ini
, чтобы включить mod_rewrite. Если это так, что мне нужно положить в php.ini
?
Как включить mod_rewrite?
Ответ 1
Нет, mod_rewrite
является модулем Apache и не имеет ничего общего с PHP.
Чтобы активировать модуль, должна быть активна следующая строка в httpd.conf
:
LoadModule rewrite_module modules/mod_rewrite.so
чтобы узнать, уже ли он активен, попробуйте поместить файл .htaccess
в веб-каталог, содержащий строку
RewriteEngine on
если это работает, не вызывая ошибки внутреннего сервера 500, и файл .htaccess
получает синтаксический анализ, работает переписывание URL.
Ответ 2
Просто 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
Ответ 3
В моем случае проблема возникла даже после всех этих конфигураций (@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>
Ответ 4
Нет, вам не нужно. mod_rewrite
- это модуль Apache. Это не имеет никакого отношения к php.ini
.
Ответ 5
Модуль rewrite_module встроен в сервер в большинстве случаев
Использовать .htaccess
Используйте генератор перезаписи мод при http://www.generateit.net/mod-rewrite/
Ответ 6
сетевые решения предлагают совет поместить php.ini в cgi-bin, чтобы включить mod_rewrite
Ответ 7
если это связано с сайтом хостинга, затем спросите о своем хостинге или хотите включить его на локальном компьютере, тогда проверьте это пошаговое руководство по использованию YouTube, чтобы включить перезаписываемый модуль в wamp apache
https://youtu.be/xIspOX9FuVU?t=1m43s
Значок сервера Wamp → Apache → Apache Modules и проверьте параметр перезаписи
он должен быть проверен, но после этого вам нужно перезагрузить все службы
Ответ 8
Чтобы использовать mod_rewrite, вы можете ввести в терминал следующую команду:
$ su
$ passwd **********
# a2enmod rewrite
Перезапустите apache2 после
# service apache2 restart
# /etc/init.d/apache2 restart
или
# service apache2 restart