Spiegherò passo dopo passo come farlo funzionare.
Fase 1 - Creazione di un web app Yii
Accedere al vostro Yii percorso quadro nella vostra console e creare una nuova webapp. Nel mio caso ho usato questo nella mia console:
cd c:\zeus\yii-1.1.10.r3566\framework
yiic webapp c:\zeus\www\yiiblog
dove c: \ zeus \ Yii-1.1.10.r3566 \ quadro è il mio percorso per Yii framework PHP e C: \ zeus \ www \ yiiblog è la percorso al mio Yii cartella di prova webapp
Stept 2 - falso il mio dominio dev.yiiblog.com
Vai a C: \ Windows \ System32 \ drivers \ etc e modificare il file hosts aggiungendo questa linea:
127.0.0.1 dev.yiiblog.com
Passaggio 3 - altera mal di file di
<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>
e riavviare il servizio apache httpd.conf. Ho usato nella mia console di Windows:
net stop apache
net start apache
dove il mio servizio Apache 2 è denominato "apache", non "apache2.2", come quello di default.
Fase 4 - creare un database e configurare una connessione al database in Yii
ho creato un database e un yiitest yiitest utente. Quindi ho aperto il mio file di configurazione Yii posizionato ad/protected/config/main.php e curato la connessione a MySQL:
'db'=>array(
'connectionString' => 'mysql:host=localhost;dbname=yiitest',
'emulatePrepare' => true,
'username' => 'yiitest',
'password' => 'password',
'charset' => 'utf8',
),
Fase 5 - scaricare dburlmanager Yii estensione
Vai a Yii dburlmanager, scaricare il dburlmanager estensione Yii http://www.yiiframework.com/extension/dburlmanager/ ed estrarlo per il vostro/protezione/cartella Estensioni
Fase 6 - Creare tabelle di database MySQL e aggiungere dati fittizi
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');
Fase 7 - Crea il tuo controller Yii personalizzato s
Crea in/protette/controller cartella due file PHP chiamata ArticleController.php e PageController.php: contenuti
ArticleController.php: contenuti
<?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']:'',
));
}
}
Step 8 - crea la tua personalizzata Yii visualizzazioni
Creare i file di visualizzazione corrispondenti a tali controllori di cui sopra con la /protected/views/article/view.php percorso e /protected/views/page/view.php:
contenuto dell'articolo vista:
<h1>Article View Test</h1>
<br />
<?php
if (isset ($article)) echo "article: $article";
?>
contenuti pagina:
<h1>Page View Test</h1>
<br />
<?php
if (isset ($page)) echo "page: $page";
?>
Fase 9 - aggiungere personalizzati regole URL Yii
Aprire nuovamente il file di main.php Yii config e impostare l'urlManager a qualcosa di simile a:
'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,
),
Fase 10 - creare il file .htaccess
Creare un file .htaccess sotto la root del server web app e etid suo contenuto:
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
Punto 11 - prova la tua SEO Friendly URL
dev.yiiblog.com/first-post
dev.yiiblog.com/page-first-post
ecc
Divertiti a creare blog fantastici o altre app Web con un potere di gestione completo.
le risposte correnti sembrano abbastanza utili (specialmente ghiande), qual è l'url che ti dà 404? –