首先请原谅我提出这个问题,因为已经多次讨论过这个问题。 我尝试了所遇到的一切,但我觉得我做错了什么。所以在这种情况下我会感激一些帮助。
我想从网址中删除'index.php'。目前网址是
http://localhost/eshop/index.php/home
但我希望它像
http://localhost/eshop/home
这是我的.htaccess
RewriteEngine on
RewriteCond $1 !^\/(index\.php|res|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
我也试过这个
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /eshop/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
只有“http://localhost/eshop/
”正在运行,但“http://localhost/eshop/home
”或“http://localhost/eshop/contacts
”仍然失败。
答案 0 :(得分:1)
此外,您应该说您的CI没有将index.php插入生成的网址
https://ellislab.com/codeigniter/user-guide/general/urls.html
您还需要更改配置
$config['enable_query_strings'] = FALSE;
有几个变体(例如,将exampl set index page作为空字符串 - 请参阅此主题CodeIgniter removing index.php from url)
答案 1 :(得分:1)
在项目的根文件夹中创建.htaccess文件并粘贴此代码
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
和config.php
$config['base_url'] = '';
答案 2 :(得分:0)
以下.htaccess应该有效。
RewriteEngine on
RewriteCond $1 !^(index.php|resources|robots.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]