【发布时间】:2012-04-01 13:58:08
【问题描述】:
我查看了几个子目录中网站的 htaccess 配置示例,并尝试了其中的大多数但没有 100% 成功。
我的设置是:
- 使用 Yii 框架
- htaccess
public_html/.htaccess - 站点位于
public_html/mysite目录内 - 索引处理位于
public_html/mysite/frontend/www/index.php的所有请求
网址状态:
-
www.mysite.com工作正常 [ok] -
www.mysite.com/controller/action显示主页[错误] -
www.mysite.com/mysite/frontend/www/controller/action工作正常[错误,上面的项目应该可以代替]
我的 .htaccess 现在看起来是这样的:
AddHandler application/x-httpd-php53s .php .html
Options +SymLinksIfOwnerMatch
IndexIgnore */*
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} ^(www.)?mysite.com$
RewriteCond %{REQUEST_URI} !^/mysite/frontend/www
RewriteRule ^(.*)?$ /mysite/frontend/www/index.php [L]
我已经尝试了所有方法,但我不知道为什么 www.mysite.com/controller/action 不起作用:(
任何帮助将不胜感激!谢谢!
【问题讨论】:
-
你可能需要 YII 告诉你基本文件夹在哪里以及它代表哪个 baseurl,但我不是 YII 专家。
-
您是否尝试添加
RewriteLog和RewriteLogLevel以查看发生了什么? httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritelog -
@hakre,Yii 应用程序的 basePath(如果这就是你的意思)设置为
Yii::getPathOfAlias('site.frontend'),这意味着 public_html/mysite/frontend/。我也尝试将 RewriteBase 添加到/mysite和/mysite/frontend/www,但没有任何改变。 -
@JamesHolwell 我还没有尝试过,但我会在今天晚些时候回到我的机器中时尝试一下。谢谢! :)
标签: php .htaccess url yii vhosts