参见英文答案 >
How to remove “index.php” in codeigniter’s path25个
我知道这个问题已经被问了,我试过所有这些,但仍然无法从url中删除index.PHP.
这是我的细节
我知道这个问题已经被问了,我试过所有这些,但仍然无法从url中删除index.PHP.
这是我的细节
Ubuntu 12.10 PHP : 5.4.6 Mod_rewrite in on CI verson: 2.1
看起来像:
RewriteEngine On RewriteBase /projectname RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$index.PHP/$1 [L]
我也看下面的链接,但没有运气..
Cannot remove index.php from url CI based site
How to remove “index.php” in codeigniter’s path
我的“/ 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]