Sur*_*shi 14 php .htaccess mod-rewrite codeigniter
我知道这个问题已被提出,我尝试了所有这些但仍然无法从url中删除index.php.这是我的详细信息
Ubuntu 12.10
PHP : 5.4.6
Mod_rewrite in on
CI verson: 2.1
Run Code Online (Sandbox Code Playgroud)
.htacess看起来像:
RewriteEngine On
RewriteBase /projectname
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)
我也看下面的链接,但没有运气.. 无法从url CI网站删除index.php
如何删除codeigniter路径中的"index.php"
我的"/ 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>
Run Code Online (Sandbox Code Playgroud)
任何帮助赞赏!!
Din*_*ino 63
步骤1 :
在htaccess文件中添加它
<IfModule mod_rewrite.c>
RewriteEngine On
#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
第2步 :
删除codeigniter配置中的index.php
$config['base_url'] = '';
$config['index_page'] = '';
Run Code Online (Sandbox Code Playgroud)
第3步:
允许覆盖Apache配置(命令)中的htaccess
sudo nano /etc/apache2/apache2.conf
Run Code Online (Sandbox Code Playgroud)
并编辑文件并更改为
AllowOverride All
Run Code Online (Sandbox Code Playgroud)
对于www文件夹
第4步 :
启用apache mod rewrite(命令)
sudo a2enmod rewrite
Run Code Online (Sandbox Code Playgroud)
第5步:
重启Apache(命令)
sudo /etc/init.d/apache2 restart
Run Code Online (Sandbox Code Playgroud)
在application/config/config.php变化:
$config['index_page'] = 'index.php';
Run Code Online (Sandbox Code Playgroud)
至:
$config['index_page'] = '';
Run Code Online (Sandbox Code Playgroud)
每次更改apache配置文件时都要重新加载apache是个好主意.
sudo /etc/init.d/apache2 reload
Run Code Online (Sandbox Code Playgroud)
要么:
sudo service apache2 reload
Run Code Online (Sandbox Code Playgroud)
要么:
sudo /etc/init.d/httpd reload
Run Code Online (Sandbox Code Playgroud)
(或者您平台的等效命令)
为了它的价值,这是我的.htaccess
RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index\.php|static|robots\.txt|favicon\.ico|uploads|googlexxxxxxxx\.html|mobile.html)
RewriteRule ^(.*)$ index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)