我确信这可能很简单,但我的知识在这方面确实不好,而且我似乎无法做到这一点。
我有以下文件结构:
/cms (renamed from system)
cms.php (renamed from index.php, added to DirectoryIndex in .htaccess)
.htaccess
index.html
page1.html
/css
/js
我也有来自CI维基的.htaccess。我认为需要调整的部分是:
#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 cms.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ cms.php?/$1 [L]
我希望大多数已存在的文件都可以访问,例如和.js,.css,.png,.swf等,但由cms.php处理的任何.htm或.html。
例如,如果用户请求http://localhost/index.html,则index.html会传递给cms.php,或者如果请求http://localhost/dir/page.html,则会传递dir / page.html。
答案 0 :(得分:0)
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond $1 !^(*\.js|*\.png|*\.css|*\.swf|folder1|folder2)
RewriteRule ^(.*)$ index.php/$1
RewriteRule ^.\.htm cms\.php
RewriteRule ^.\.html cms\.php
</IfModule>
您可以添加其他不想重定向到RewriteCond
行的扩展程序和/或文件夹。
答案 1 :(得分:0)
找到一个教程,并提出以下内容:
RewriteRule ^(.*\.html)$ cms.php?/$1 [NC]
因此,以.html结尾请求的任何内容都会传递给cms.php,从而产生一个像cms.php / index.html这样的URL,cms.php可以处理和输出。