【发布时间】:2013-03-28 10:40:37
【问题描述】:
我想在子目录中安装最新版本的 codeigniter。到目前为止有效。但现在我想从网址中删除index.php。所以我在子文件夹中有这个.htaccess 文件。
RewriteEngine On
RewriteBase /dev/
# Removes trailing slashes (prevents SEO duplicate content issues)
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ $1 [L,R=301]
###
# Removes access to the system folder by users.
# Additionally this will allow you to create a System.php controller,
# previously this would not have been possible.
# 'system' can be replaced if you have renamed your system folder.
RewriteCond %{REQUEST_URI} ^system.*
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php/$1 [L]
# Checks to see if the user is attempting to access a valid file,
# such as an image or css document, if this isn't true it sends the
# request to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
子文件夹的名称是dev,webroot(父文件夹)是空的。里面只有一个index.html 文件。
所以这导致了这个结构:
/var/www/
index.html
dev/
ci installation here
.htaccess
当然mod-rewrite 已启用。
任何想法为什么它不起作用? 调用 http://domain.tld/dev/login 之类的内容时出现 404 错误
【问题讨论】:
-
codeigniter index.php在什么目录?
-
CI
index.php文件在dev和应用程序 ans 系统文件夹中 -
有趣的是它在文档根目录中工作(在将
RewriteBase更改为/之后)。 -
好的...我忘记激活 AllowOverride ...
标签: .htaccess codeigniter mod-rewrite