Я знаю, что этот вопрос уже задан, я пробовал все, но все еще не смог удалить index.php из url. Вот мои подробности
Ubuntu 12.10 PHP : 5.4.6 Mod_rewrite in on CI verson: 2.1
.htacess выглядят так:
RewriteEngine On RewriteBase /projectname RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L]
Я также смотрю ссылку ниже, но не повезло .. Не удается удалить index.php из URL-адреса сайта на основе CI
Как удалить "index.php" в пути codeigniter
Мой «/ etc / apache2 / sites-available / default» выглядит следующим образом:
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Любая помощь ценится !!
В application/config/config.php
измените:
$config['index_page'] = 'index.php';
чтобы:
$config['index_page'] = '';
рекомендуется обновлять apache каждый раз, когда вы изменяете конфигурационный файл apache.
sudo /etc/init.d/apache2 reload
или:
sudo service apache2 reload
или:
sudo /etc/init.d/httpd reload
(или что-то еще эквивалентная команда для вашей платформы)
для чего это стоит, вот мой .htaccess
RewriteEngine on RewriteBase / RewriteCond $1 !^(index\.php|static|robots\.txt|favicon\.ico|uploads|googlexxxxxxxx\.html|mobile.html) RewriteRule ^(.*)$ index.php/$1 [L]
Шаг 1 :
Добавьте это в файл htaccess
<IfModule mod_rewrite.c> RewriteEngine On #RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [QSA,L] </IfModule>
Шаг 2 :
Удалить index.php в configignign config
$config['base_url'] = ''; $config['index_page'] = '';
Шаг 3 :
Разрешить переопределение htaccess в конфигурации Apache (команда)
sudo nano /etc/apache2/apache2.conf
и отредактируйте файл и измените его на
AllowOverride All
для папки www
Шаг 4:
Включено переписывание модема apache (команда)
sudo a2enmod rewrite
Шаг 5:
Перезапустить Apache (команда)
sudo /etc/init.d/apache2 restart
мой .htaccess
RewriteEngine on RewriteCond $1 !^(index.php) RewriteRule ^(.*)$ index.php/$1 [L]