Мои текущие URL выглядят так [mysite]index.php/[rest of the slug]
.
Я хочу снять index.php
с этих URL.
mod_rewrite
включен на моем сервере apache2. В config
,$config['index_page'] = '';
Мой корневой .htaccess
файл codeignitor содержит,
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
Но все равно это не работает. Куда я иду не так?
php
.htaccess
codeigniter
apache2
Нихар Саранджи
источник
источник
Ответы:
Попробуйте следующее
Откройте config.php и выполните следующие замены
в
В некоторых случаях настройка по умолчанию для
uri_protocol
не работает должным образом. Просто заменипо
.htaccess
Примечание. Код .htaccess зависит от хост-сервера. На каком хостинг-сервере (например: Godaddy) нужно использовать дополнительный? в последней строке кода выше. Следующая строка будет заменена последней строкой в соответствующем случае:
источник
RewriteRule ^(.*)$ index.php/$1 [L]
но все же я могу просматривать страницу в обоих направлениях: domain.com/about-us, domain.com/index.php/about-us и domain.com/index.php?/about-us, который генерирует Ошибка SEO, т.е. дублированный тег заголовка и дублированное мета-описание$_POST
илиisset($_POST)
не работает после добавления этого.Шаг: -1 Откройте папку «application / config» и откройте файл «config.php«. найдите и замените приведенный ниже код в файле config.php.
Шаг: -2 Перейдите в папку CodeIgniter и создайте .htaccess
Шаг: -3 Запишите ниже код в файле .htaccess
Шаг: -4 В некоторых случаях настройка по умолчанию для uri_protocol не работает должным образом. Чтобы решить эту проблему, просто откройте файл «application / config / config.php», затем найдите и замените приведенный ниже код
Это все, кроме сервера Wamp, он не работает, потому что rewrite_module по умолчанию отключен, поэтому нам нужно включить его. для этого сделайте следующее
Оригинальная документация
Пример ссылки
источник
Шаг 1 :
Добавьте это в файл htaccess
Шаг 2 :
Удалите index.php в конфиге codeigniter
Шаг 3 :
Разрешить переопределение htaccess в конфигурации Apache (команда)
и отредактируйте файл и измените на
для папки www
Шаг 4:
Включено переписывание модов Apache (команда)
Шаг 5:
Перезапустите Apache (Команда)
источник
использование
если у вас есть URL в этом порядке site.com/index.php/class/method/id
источник
RewriteRule .* index.php/$1 [PT,L]
- это не передаст URL-путь, если вы не изменитеRewriteRule
шаблон с.*
на(.*)
. Однако, если вы используете,$config['uri_protocol'] = 'REQUEST_URI';
то это все равно не имеет значения.источник
на вашем htaccess используйте это,
Надеюсь это поможет.
источник
Есть два шага:
1) Редактировать config.php
к
2) Создание / редактирование файла .htaccess
источник
сделать
.htaccess
файл и поставить этот кодизменение
удалить
index.php
подарок вconfig.php
файлеисточник
1. Создайте новый файл .htaccess в корневом каталоге.
2. Перейдите в файл config.php и измените с
$config['index_page'] = 'index.php'
на$config['index_page'] = ''
источник
Решил это за 2 шага.
источник
Попробуйте это. Это может помочь вам, так как это работает на меня.
поместите код в корневой файл htaccess. и убедитесь, что у вас есть
в вашем конфигурационном файле.
Пожалуйста, дайте мне знать, если у вас возникнут проблемы.
источник
Пожалуйста, посмотрите это видео для ознакомления https://www.youtube.com/watch?v=HFG2nMDn35Q
источник
Ну, все эти ответы хороши, но для новичка (что делать в первый раз) они сбивают с толку. Есть другие файлы htaccess, которые находятся в контроллере, но мы должны отредактировать или добавить htaccess в основную папку проекта.
Это ваша папка codeigniter, в которой находится файл, такой как приложение, система, ресурсы, файлы для загрузки и т. Д.
Измените этот файл, как написано ниже:
и да, конечно, вам нужно изменить две строки кода в application / config / config.php
источник
Как разработка, так и производство
источник
Прежде всего, вам нужно переписать движок на сервере Apache. Эта ссылка поможет вам в этом.
http://www.anmsaiful.net/blog/php/enable-apache-rewrite-module.html
это будет ваш файл .htaccess. Теперь попробуйте. Эта настройка работает для меня.
источник
Вы можете перейти в файл config \ config.php и удалить значение index.php из этой переменной
создайте файл .htaccess и вставьте в него этот код.
хороший шанс
источник
источник
Для удаления index.php из URL в Codeigniter требуется всего три шага
1) Создайте файл .htacess параллельно владельцу приложения и просто скопируйте следующий код:
2) Измените $ config ['index_page'] на пустую в config.php в папке приложения, как показано ниже:
3) Включить «rewrite_module» в apache.
Перезагрузите ваш Apache и все готово.
Подробности: http://sforsuresh.in/removing-index-php-from-url-of-codeigniter-in-wamp/
источник
Я думаю, что все ваши настройки хороши, но вы делаете, чтобы неправильно разместить свой файл htaccess, и добавьте свой htaccess в свой файл проекта.
project_folder-> Htaccess
и добавьте этот код в свой htaccess
источник
Вы можете перейти в файл application \ config \ config.php и удалить index.php
Изменить на
источник
попробуйте этот RewriteEngine On
источник
Это работает для меня. Протестировано в codeigniter 3.1.11, PHP 5.6.40 Я использую виртуальный хост в моей конфигурации apache2 на тестовом сервере.
И / .htaccess содержание
источник
Следуйте этим шагам, ваша проблема будет решена
1- Загрузите файл .htaccess здесь https://www.dropbox.com/s/tupcu1ctkb8pmmd/.htaccess?dl=0.
2- Измените имя каталога CodeIgnitor в строке № 5. как мой каталог имя ABC (добавить свое имя)
3. Сохраните файл .htaccess в главном каталоге (abc) вашей папки codeignitor.
4- Измените uri_protocol с AUTO на PATH_INFO в файле Config.php
Примечание: в первую очередь вы должны включить mod_rewrite из httpd.conf из apachi, удалив комментарии
источник
Используйте этот код. Измените вторую строку, как у вас есть имя папки. Где файл index.php и папки приложения, лежат системные папки. В основном проблемы возникают из-за второй линии. мы не настраиваем имя папки, в которой находится проект. Важна вторая строка. Это просто удалить index.php. RewriteEngine для RewriteBase / project_folder_name RewriteCond% {REQUEST_FILENAME}! -F RewriteCond% {REQUEST_FILENAME}! -D RewriteRule. * Index.php / $ 0 [PT, L]
Перейдите в файл controller / config.php.
конфигурации [ 'index_url'] = '';
Ссылка для дальнейшего изучения.
https://ellislab.com/expressionengine/user-guide/urls/remove_index.php.html
https://ellislab.com/blog/entry/fully-removing-index.php-from-urls
источник
Помимо этих ответов, можно просто добавить index.php или отредактировать его (если он уже есть) - в целях безопасности вы все равно хотите отключить index.php из списка файлов в каталоге вашего сайта - затем измените содержимое на
источник
Незначительная вещь: (необязательно)
Одна важная вещь, на которую стоит обратить внимание:
Скрипт моего файла vhosts: (до)
Скрипт моего файла vhosts: (после)
Я столкнулся с той же проблемой, боролся около 1 дня, все было хорошо. Позже методом проб и ошибок нашел эту вещь. После удаления этого моя работа была выполнена. URL теперь не ищет index.php :)
источник
Если все вышеперечисленное решение не работает, то в папке вашего проекта их будут два файла index.html и index.php, переименуйте index.html в index_1.html и просмотрите ваш проект.
источник
Обратите внимание на разницу с добавленным "?" символ после ".php", особенно при работе с CodeIgniter:
против
Это зависит от нескольких других вещей .. если не работает, попробуйте другой вариант!
источник
Вы можете удалить index.php из URL, поместив некоторый код в .htaccess
Путь к файлу: root> .htacess
Надеюсь, это сработает.
источник
В CodeIgniter 3.16 используется htaccess для
& также
Следуйте кодам:
application\config\config.php
файлуВносить изменения
к
источник