Tôi sẽ giải thích từng bước cách làm việc này.
Bước 1 - Tạo ứng dụng web Yii
Điều hướng đến đường dẫn khung Yii trong bảng điều khiển của bạn và tạo webapp mới. Trong trường hợp của tôi, tôi đã sử dụng này trong giao diện điều khiển của tôi:
cd c:\zeus\yii-1.1.10.r3566\framework
yiic webapp c:\zeus\www\yiiblog
trong đó c: \ zeus \ yii-1.1.10.r3566 \ khuôn khổ là con đường để khuôn khổ php Yii và c: \ zeus \ www \ yiiblog là đường dẫn đến thư mục Yii thử nghiệm webapp của tôi
Stept 2 - giả miền của tôi để dev.yiiblog.com
đến C: \ Windows \ System32 \ drivers \ etc và chỉnh sửa file host của bạn bằng cách thêm dòng này:
127.0.0.1 dev.yiiblog.com
Bước 3 - thay đổi ap Tệp httpd.conf ache
<VirtualHost *:80>
DocumentRoot "c:/zeus/www/yiiblog"
ServerName dev.yiiblog.com
ErrorLog "logs/dev.yiiblog.com-error.log"
CustomLog "logs/dev.yiiblog.com-access.log" common
</VirtualHost>
và khởi động lại dịch vụ apache. Tôi đã sử dụng trong giao diện điều khiển cửa sổ của mình:
net stop apache
net start apache
nơi dịch vụ Apache 2 của tôi có tên "apache" không phải là "apache2.2" như mặc định.
Bước 4 - tạo ra một cơ sở dữ liệu và cấu hình một kết nối cơ sở dữ liệu vào Yii
tôi đã tạo ra một cơ sở dữ liệu yiitest và yiitest người dùng. Sau đó, tôi mở tập tin cấu hình Yii của tôi nằm ad/protected/config/main.php và chỉnh sửa các kết nối đến MySQL:
'db'=>array(
'connectionString' => 'mysql:host=localhost;dbname=yiitest',
'emulatePrepare' => true,
'username' => 'yiitest',
'password' => 'password',
'charset' => 'utf8',
),
Bước 5 - tải dburlmanager Yii mở rộng
Đến Yii dburlmanager, tiến hành download dburlmanager mở rộng Yii http://www.yiiframework.com/extension/dburlmanager/ và giải nén nó vào bạn/bảo vệ/extensions thư mục
Bước 6 - Tạo bảng cơ sở dữ liệu MySQL và thêm dữ liệu giả
CREATE TABLE IF NOT EXISTS `articles` (
`seoURL` varchar(100) NOT NULL
) ENGINE=InnoDB;
INSERT INTO `articles` (`seoURL`) VALUES
('first-post'),
('another-post'),
('post/value'),
('website/page1');
CREATE TABLE IF NOT EXISTS `pages` (
`seoURL` varchar(100) NOT NULL
) ENGINE=InnoDB;
INSERT INTO `pages` (`seoURL`) VALUES
('page-first-post'),
('page-another-post'),
('page/post/value.html'),
('page-website/page1');
Bước 7 - Tạo bộ điều khiển tùy chỉnh Yii của bạn s
Tạo dưới/bảo vệ/kiểm soát thư mục hai tập tin php tên ArticleController.php và PageController.php: Nội dung
ArticleController.php: Nội dung
<?php
/**
* @filename ArticleController.php
*/
class ArticleController extends CController {
public function actionView() {
$this->render('view', array(
'article' => isset($_GET['article'])?$_GET['article']:'',
));
}
}
PageController.php:
<?php
/**
* @filename PageController.php
*/
class PageController extends CController {
public function actionView() {
$this->render('view', array(
'page' => isset($_GET['page'])?$_GET['page']:'',
));
}
}
Bước 8 - tạo chế độ xem Yii tùy chỉnh của bạn
Tạo file view của bạn tương ứng với những điều khiển trên với /protected/views/article/view.php đường dẫn và /protected/views/page/view.php:
Điều xem nội dung:
<h1>Article View Test</h1>
<br />
<?php
if (isset ($article)) echo "article: $article";
?>
page view nội dung:
<h1>Page View Test</h1>
<br />
<?php
if (isset ($page)) echo "page: $page";
?>
Bước 9 - thêm tùy chỉnh Yii quy tắc url
mở lại main.php của bạn tập tin Yii cấu hình và thiết lập urlManager của bạn để một cái gì đó tương tự như: 01.230.
'urlManager'=>array(
'urlFormat'=>'path',
'class'=>'ext.DbUrlManager.EDbUrlManager',
'connectionID'=>'db',
'rules'=>array(
'<article:[\w\/.-]+>'=>array(
'article/view',
'type'=>'db',
'fields'=>array(
'article'=>array(
'table'=>'articles',
'field'=>'seoURL'
),
),
),
'<page:[\w\/.-]+>'=>array(
'page/view',
'type'=>'db',
'fields'=>array(
'page'=>array(
'table'=>'pages',
'field'=>'seoURL'
),
),
),
'<controller:\w+>/<id:\d+>' => '<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
),
'showScriptName'=>false,
),
Bước 10 - tạo .htaccess tập tin
Tạo một file .htaccess dưới gốc ứng dụng web của bạn và etid nội dung của nó để:
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php
Bước 11 - kiểm tra SEO của bạn URL thân thiện
dev.yiiblog.com/first-post
dev.yiiblog.com/page-first-post
vv
Hãy vui vẻ khi tạo các blog tuyệt vời hoặc các ứng dụng web khác với khả năng quản lý url hoàn chỉnh.
câu trả lời hiện tại có vẻ khá hữu ích (đặc biệt là acorn's), url cung cấp cho bạn 404 là gì? –