1

我正在使用 kohana 3.2

我的网站是 www.mysite.com/best,kohana 安装在 best 上。

我正在使用带有 rewritebase /best 的默认 htaccess 文件

那么重定向访问 www.mysite.com 的用户的最佳方式是什么?

现在如果有人把 www.mysite.com/helo (www.mysite.com/best/helo) 它加载但 apache 给出 404 未找到。

我希望我的问题是有道理的。

编辑

如果用户访问主域 (www.mysite.com),我希望它加载位于 mysite/best 的 kohana。但是如果用户现在输入完整的内容并省略了最佳内容,则站点将加载但我的表单将无法正常工作,因为它发布到 www.mysite.com/helo 而不是 www.mysite.com/best/helo 而不是加载假直升机控制器,它必须显示未找到的页面。

编辑

好的,我将其添加到 htaccess 文件中,并且效果很好

RewriteCond %{REQUEST_URI} !^/best/

RewriteRule ^(.*)$ /best/$1

4

2 回答 2

0

试试这个 .htaccess 代替:

# Turn on URL rewriting
RewriteEngine On

# Installation directory
RewriteBase /best/

# Allow any files or directories that exist to be displayed directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# Rewrite all other URLs to index.php/URL
#RewriteRule .* index.php?kohana_uri=$0 [PT,L,QSA]
RewriteRule .* index.php?/$0 [PT,L,QSA]

请注意,RewriteBase 上的尾随 / 是必需的。

于 2012-06-04T16:06:11.070 回答
0

你不能在 htaccess 中有多个 rewritebase 所以......重写你的规则以适应你在 /best 中的需要,或者在 / 中放入另一个 htaccess 来重写你的需要。

于 2012-06-01T09:46:34.293 回答