0

我在 google 中搜索了我的问题,但没有找到任何有用的信息。

所以在我将网站移到其他主机之前一切都很好。这很好用

# Turn on URL rewriting
RewriteEngine On

# Installation directory
RewriteBase /

# Protect hidden files from being viewed
<Files .*>
    Order Deny,Allow
    Deny From All
</Files>

# Protect application and system files from being viewed
RewriteRule ^(?:application|modules|system)\b.* index.php/$0 [L]

# 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/$0 [PT]

但是当我将该站点移至其他主机时, index.php 不再重写。

主机上的 apache 版本是 2.2.22

我登录 ftp 时的文件结构是 /htdocs/ 和站点文件。

当我在浏览器上写

    http://verana.ge/index/page

它给了我 404 错误

但是在

    http://verana.ge/index.php/index/page/

效果很好

引导配置是这样的:

     'base_url' => '/',
     'index_file' => 假,

所以请帮助我并告诉我是我做错了什么还是apache配置问题还是Kohana的问题

先感谢您

添加

还有一个细节

我联系了主机的系统管理员,他给了我日志文件,上面写着

     /var/www/virtual/verana.ge/htdocs/.htaccess:此处不允许 RewriteLog

在同一台主机上,我有 wordpress 站点,它的 htaccess 文件就像这样并且可以工作

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /college/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /college/index.php [L]
</IfModule>

# END WordPress

你能告诉我在哪里,有什么问题吗

添加

重写日志说

    [verana.ge/sid#21cbdd98][rid#21e0ad78/initial] (3) [perdir /var/www/virtual/verana.ge/htdocs/] 去除每个目录前缀:/var/www/virtual/verana。 ge/htdocs/->

有任何想法吗?

4

1 回答 1

0

我解决了这个问题。

所以我的 apache 服务器版本是 2.2.22,我做了如下的 htaccess 文件:

 IfModule mod_rewrite.c>    
    重写引擎开启
    RewriteBase /
    重写规则 ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    重写规则。/index.php [L]
 /如果模块>

现在这个 apache 2.2.22 的 htaccess 配置运行良好

于 2012-05-19T14:48:13.583 回答