Удаление индекса. php из URI в Codeigniter 3 - PullRequest
0 голосов
/ 27 марта 2020

Я сделал все упомянутые решения, чтобы удалить 'index. php' из URI. Я использовал следующую процедуру: In .htaccess:

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

В конфигурации. php

base_url установлен на

$config['base_url'] = 'https://trawellmate.com/';

Удален индекс. php из

$config['index_page'] = '';

Это предлагаемые решения. Но ничего не сработало. Я использую SSL и все не запросы перенаправляются на https://trawellmate.com. Ниже приведены строки, добавленные для достижения в .htaccess:

#FORCE NON-WWW REDIRECT
RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.*)$ [NC]
RewriteRule (.*) https://%1%{REQUEST_URI} [L,R=301]

Раньше с не SSL (в режиме разработки на localhost) все работало нормально. Поскольку мы собираемся go жить, мы будем очень благодарны за быструю помощь.

Ответы [ 3 ]

0 голосов
/ 27 марта 2020

Разрешить переопределение htaccess в Apache Конфигурация (команда)

sudo nano /etc/apache2/apache2.conf

и отредактировать файл и изменить на

AllowOverride All
0 голосов
/ 27 марта 2020

Ниже у меня работает конфигурация .htaccess

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

Я поместил файл .htacess в / var / www/html ie. Параллельно каталогу приложения

Надеюсь, вы включили модуль mod_rewrite для apache, также добавьте блок ниже в файле virtualhost (000-default.conf) apache. Пожалуйста, перезагрузите сервер после изменений.

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>
0 голосов
/ 27 марта 2020

Вы можете попробовать использовать следующие правила. У меня это сработало.

RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [OR]
RewriteCond %{HTTP_HOST} ^yourwebsite\.com$ [NC]
RewriteRule ^ https://www.yourwebsite.com%{REQUEST_URI} [R=301,L,NE]
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /index\.php(/[^\ ]*)?\ HTTP/ 
RewriteRule ^index\.php(/(.*))?$ yourwebsite.com/$2 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
...