2012-08-30 90 views
0

我想重寫yii網址,但沒有運氣。我花了幾個小時通過網站去和每一個不爲我工作的時間想出了相同的答案:yii,mamp,htaccess rewrite url

http://www.yiiframework.com/doc/guide/1.1/en/topics.url#user-friendly-urls

我想基本的路徑,例如

/索引來解析URL .PHP /網站/指數 到 /

/index.php/ads和/index.php/ads/ 到 /廣告

/ads/details?ad = 9 至 /ads/9

問題似乎是.htaccess沒有效果。

我使用:

甲基苯丙胺親 與獅子 一個MAC和web目錄是在Web服務器的根不同。 我通過控制檯設置了AllowOveride

.htaccess與主index.php位於同一文件夾中,但即使創建錯誤也不會註冊。

我曾與使用htaccess文件

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^.*$ /index.php 

其他非警予的web目錄沒有問題//main.php

'urlManager'=>array(
     'urlFormat'=>'path', 
        'showScriptName'=>false, 

     'rules'=>array(

         '<controller:\w+>/<id:\d+>'=>'<controller>/view', 
      '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>', 
      '<controller:\w+>/<action:\w+>'=>'<controller>/<action>', 
     ), 
    ), 
+0

作爲一個旁註,這個.htaccess並不是最好的。當你有.git文件夾或者.netbeans或者其他東西時,它可以讓人們「看到」一些東西......當然,你不應該有這樣的事情。但是......此刻我正在嘗試:RewriteEngine on RewriteCond%{REQUEST_URI}!\。(jpg | png | css | js | php | ico | txt)$ RewriteRule。 /index.php \t [L](與3行的.htaccess) – Cedric

回答

2

我有一個項目,我的Yii應用是在子文件夾也是如此。

這是我的.htaccess文件:

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

然後在main.php,你需要將這些行添加到 '規則' 數組:

'' => 'site/index', // This is for the home page 

是廣告名稱你的控制器?換句話說,你的控制器文件夾中是否有一個名爲AdsController.php的文件?如果是這樣,那麼它將默認工作。

只是好奇你爲什麼直接點擊index.php?您應該能夠將本地主機設置爲直接指向您的Yii應用程序文件夾。例如,在我的機器上,我創建了http:// mytestapp /,它指向htdocs中的應用程序文件夾。

既然你是在Mac上,你需要編輯etc/hosts文件,以及...

我加了這樣一行:127.0.0.1 mytestapp

希望有所幫助。 ..

+0

謝謝,它的工作原理!這似乎是''=>'網站/索引'是問題。實際上我的確將它設置爲http:// mytestapp/ – martyn

+0

編輯時間過長。謝謝,它以某種方式工作。 index.php/ads仍然可以解析以及/ ads。有沒有辦法阻止它?和http://yii.dev:8888/ads/business works,但http://yii.dev:8888/ads/seller解析到服務器地址http://yii.dev不起作用。現在看着它。 – martyn

+0

只要URL不能與index.php一起工作......當您訪問Yii Framework網站時,它也可以這樣工作(http://www.yiiframework.com/index.php/關於/)。我想你可以寫一些從URL中刪除並重定向的東西,但我沒有看到目的......另外,你在最後一句話中是否有問題?目前,它沒有多大意義:) – ews2001