2012-10-03 47 views
0

比方说,我想表明http://example.com/topic/view/topicname/thenameofthetopic照片直接为http://example.com/thenameofthetopic用户友好的URL revelsal

所以我已经实现了进入http:// example.com/thenameofthetopic时,将您重定向到控制器/动作正确,而网站显示我想表明什么,问题是,当然URL改变了,我希望它保持格式http://example.com/thenameofthetopic

是否有可能没有触及htaccess文件?只要是配置方面警予

我应该怎么办呢?

+0

看看[CUrlManager](http://www.yiiframework.com/doc/api/1.1/CUrlManager) –

回答

2

切合您的情况是:

'components'  => array(
    'urlManager' => array(
     'urlFormat'  => 'path', 
     'showScriptName' => false, 
     'rules' => array(
      "<name_of_topic:\w+>/" => 'controller/action' 
     ), 
    ), 
) 

您将在Yii中获得主题名称::应用程序() - >请求 - > getQuery( 'name_of_topic');

htaccess的 Yii是 - 经典之作,必须存在:

RewriteEngine On 

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

我会建议你做的另一种方式。

'components'  => array(
    'urlManager' => array(
     'urlFormat'  => 'path', 
     'showScriptName' => false, 
     'rules' => array(
      "t/<name_of_topic:\w+>/" => 'controller/action' 
     ), 
    ), 
) 

因此,主题链接将是http://www.example.com/t/name_of_topic。 这将允许您使用“一//”的文章等

一两件事。阅读这篇文章,找到很多有趣的东西http://www.yiiframework.com/doc/guide/1.1/en/topics.url

+0

我修改了htacces之前,如果我添加你的线,我得到的网站,无需格式...这是我的实际.htaccess文件 RewriteEngine叙述上 #如果目录或文件是否存在,直接 的RewriteCond%{} REQUEST_FILENAME!-f 的RewriteCond%{} REQUEST_FILENAME使用它! -d #否则将其转发到index.php 重写规则。的index.php – santietsit

+0

对不起,你的意思是说:“没有获得格式网站..”? –

+0

你的htaccess没问题。正如这里写的http://www.yiiframework.com/doc/guide/1.1/en/topics.url。我希望urlManager设置帮助你。 –