0

我在 CI 中找到了很多 URL 重写的示例,但不是最终的好解决方案,我有这样的 url

www.somesite.com/index.php/tehnicki/tekstovi

我想要这样的网址

www.somesite.com/about.html

这个GET 变量,在 MySql 查询中,它不会是数字,它会是一些 NAME,怎么做?

我必须在 tehnicki 控制器中编写以获取该 GET 变量,在 CI 中是否有任何用于 MySQL 攻击的助手,或者我必须自己编写:)

4

1 回答 1

0

好吧,让我们看看,它似乎一团糟,没有意义,但我会给你你需要的。

首先,我们必须删除 index.php 文件: - 将其用作 .htaccess

//.htaccess
RewriteEngine on
RewriteCond $1 !^(index\.php|Skin|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

接下来,在您的 config.php 中将 index_page 设置为空字符串

// application/config/config.php
$config['index_page'] = '';

在同一个文件上,滚动到 url_suffix,并将其设置为 .html

// application/config/config.php
$config['url_suffix'] = '.html';

现在前往您的 routes.php 并应用重写规则

// application/config/routes.php
$route['about'] = "tehnicki/tekstovi";

我将快速解释我在这里做了什么,以便您了解它是如何工作的:1-我们删除了 url 的 index.php 部分以清理它 2-我们添加了一个将在所有页面上生成的 url 后缀 3-我们应用了一个重写规则,它将匹配 /about.html 到控制器 tehnicki 和动作 tekstovi (tehnicki/tekskovi)

于 2013-06-11T16:41:15.923 回答