我的Codeigniter .htaccess
文件出现问题......基本上就是这样。
常规.htaccess文件(适用于我的localhost):
RewriteEngine On
RewriteCond $1 !^(index\.php|assets|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]
我正在放置所有文件的网站文件夹结构:
website.com/
css/
js/
img/
index.html
dev/
application/
assets/
system/
index.php
.htaccess <<< A problem now exists with this file
当我转到index.html
文件的website.com/dev/
而不是时,网站正在尝试加载index.php
文件。
我尝试了.htaccess
文件的不同变体,但我得到500服务器错误或index.html
文件。
如何将website.com/dev/
路由到正确的index.php
文件?
提前致谢! 文森特威尔基
我有一个部分工作的.htaccess文件:
RewriteEngine On
RewriteCond $1 !^(index\.php|assets|robots\.txt)
RewriteRule ^(.*)$ http://website.com/dev/index.php/$1 [L]
这只是部分有效,因为网址现在显示.../dev/index.php/controller/method/args
我知道使用mod_rewrite
的重点是从网址中删除index.php
... :(
答案 0 :(得分:0)
你有这个目录结构的原因吗?因为不建议采用这种结构,这可能意味着你遇到了很多问题而不是你想要一个像
这样的目录结构website.com/
application/
system/
assets/
css/
js/
img/
index.php
.htaccess
您希望将application
和system
目录置于比您的网络根目录(assets
)更高的级别,以便从安全角度来看它们不可公开访问。
答案 1 :(得分:0)
我有相同的目录结构。试试这个。
<强>的.htaccess 强>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,L]
</IfModule>
注意:我假设您将该网站用作 website.com/dev/
希望这会有所帮助:)