Удалить index.php из URL-кода - PullRequest
0 голосов
/ 08 января 2019

У меня та же проблема, что и у многих людей, для удаления index.php из URL в codeigniter.

я всегда выполнял весь ответ из предыдущего ответа, но я всегда могу получить доступ к URL с помощью index.php

Работа с этим URL: https://www.domaine.tld/Test но я могу получить доступ: https://www.domaine.tld/index.php/Test (тоже работает)

У меня нет ссылки на моем сайте, которая включает index.php, но мой вопрос о том, как перенаправить URL с index.php, чтобы не иметь дублирующегося контента.

спасибо за ваш ответ.

Ответы [ 5 ]

0 голосов
/ 08 января 2019

Это будет полезно на лампе


Поместите этот код на .htaccess file

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1

открыт

application/config/config.php

удалить index.php

$config['index_page'] = "";

затем установите

$config['base_url'] = 'your site base_url';
0 голосов
/ 08 января 2019

спасибо за ваш ответ. Я всегда так делаю, но не работал, и я не понимаю, почему .... я нахожусь на apache2 / модуль перезаписи включить

я тоже изменяю виртуальный хост Разрешить переопределить все

    Options Indexes FollowSymLinks MultiViews

    DirectoryIndex index.html index.phtml index.php
    php_admin_flag engine On
     AddType application/x-httpd-php .php .phtml .php3
    </Directory>
0 голосов
/ 08 января 2019

Поместите это в ваш .htaccess:

RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA] 

Откройте config.php и выполните следующие замены

$config['index_page'] = "index.php"

до

$config['index_page'] = ""
0 голосов
/ 08 января 2019

Перейдите на config.php в application/config/config.php, вам нужно изменить там две конфигурации, установив base_url и удалив значение index_page:

$config['base_url'] = 'your_base_url';
$config['index_page'] = '';

Затем в вас FCPATH создайте .htaccess файл со следующим содержанием:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

Теперь все должно работать нормально (если вы не используете lamp, потому что в этом случае вам нужно выполнить некоторые дополнительные шаги в ваших apache конфигурациях).

0 голосов
/ 08 января 2019

Codeigniter имеет красивую документацию. Вы можете найти все, что связано с Codeigniter в Codeigniter user_guide сейчас, чтобы решить вашу проблему, создайте .htaccess файл в корне и вставьте следующий код

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

А затем также удалите index.php из

application/config/config.php

$config['index_page'] = 'index.php';

изменяется на

$config['index_page'] = '';

Узнайте больше на: https://www.codeigniter.com/userguide3/general/urls.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...