0

我是 Codeigniter 1.7.2 的新手。我想跳过站点 URL 的 index.php 和方法名称。但我不知道如何跳过它们。我的网站网址看起来像 -

http://localhost/mysadagi_voicetongues/index.php/deal_bazaar/PrivilegeDealsbazaar

所以我想从 url 跳过 index.php 和 PrivilegeDealsbazaar。

请提供解决方案来解决此问题。

谢谢

4

3 回答 3

0

我忘了告诉。打开您的配置文件: application/config/config.php 并更改此行

$config['index_page'] = “index.php”

$config['index_page'] = “”

在应用程序的根目录中创建一个 .htaccess 文件,以便

  • 系统
  • 应用
  • 资产
  • .htaccess

要从您的 url 中删除 index.php,请使用此 .htaccess 文件:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ index.php?/$1 [L]

RewriteCond %{REQUEST_URI} ^LoginTut.*
RewriteRule ^(.*)$ index.php?/$1 [L]

RewriteCond $1 !^(index\.php|images|table-images|js|robots\.txt|css|captcha)

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
 ErrorDocument 404 index.php
</IfModule>

隐藏控制器名称不是一个好主意,因为在路由和链接到其他功能时会遇到很多问题。

希望能帮助到你!

于 2013-04-10T10:00:59.460 回答
0

在 CI 2.1.3 上使用最新版本您可以使用 .htaccess 从 URL 中隐藏 index.php。您可以使用以下 .htaccess

<IfModule mod_rewrite.c>
   RewriteEngine On
    #AddHandler application/x-httpd-php5 .php
    RewriteBase /projectforlder/

    RewriteCond %{REQUEST_URI} ^system.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]

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

</IfModule>

<IfModule !mod_rewrite.c>
   ErrorDocument 404 /index.php
</IfModule>

如果不在 URL 中指定它,您将无法访问您的控制器。

于 2013-04-10T10:02:56.577 回答
0

您可以通过 3 个步骤执行此操作:

1) 与应用程序持有者并行创建 .htacess 文件,然后复制以下代码:

RewriteEngine On
RewriteBase /CodeIgniter/       /* this will be your prj name. Change it as per your directory structure*/
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

2) 在应用程序文件夹中的 config.php 中将 $config['index_page'] 更改为空白,如下所示:

$config['index_page'] = '';

3) 启用 apache 的“rewrite_module”。

于 2013-04-10T10:03:10.620 回答