我是CI3的新手,在使用.htaccess进行CodeIgniter3 HMVC WireDesignz路由工作并且仍然无法正常工作时,我花了一周多的时间才感到非常沮丧。
因为有多个源可能导致错误,所以我写了我的GitHub存储库https://github.com/ibudisteanu/PHP-TESTS的链接
行为非常简单:我可以访问以下地址而没有错误
我在路由中获得以下链接的回复:
我得到的错误是未找到此服务器上找不到请求的网址/登录信息。
答案 0 :(得分:1)
这就是我对你的htaccess文件所做的一切,并且它在我的测试服务器中正常工作
Options +FollowSymLinks -Indexes
RewriteEngine on
# NOTICE: If you get a 404 play with combinations of the following commented out lines
#AllowOverride All
#RewriteBase /wherever/ci/is
#RewriteBase /
# Restrict your site to only one domain
# Important USE ONLY ONE OF THESE OPTIONS BELOW!
# Option 1: To rewrite "www.domain.com -> domain.com" uncomment the following lines.
#RewriteCond %{HTTPS} !=on
#RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
#RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
# Option 2: To rewrite "domain.com -> www.domain.com" uncomment the following lines.
#RewriteCond %{HTTPS} !=on
#RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
#RewriteCond %{HTTP_HOST} (.+)$ [NC]
#RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]
# Option 3: Remove index.php from URL
#RewriteCond %{HTTP:X-Requested-With} !^XMLHttpRequest$
#RewriteCond %{THE_REQUEST} ^[^/]*/index\.php [NC]
#RewriteRule ^index\.php(.*)$ $1 [R=301,NS,L]
# Send request via index.php (again, not if its a real file or folder)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond $1 !^(index\.php|public_html|\.txt|robots\.txt|favicon\.ico|style\.css)
# deal with php5-cgi first
<IfModule mod_fcgid.c>
RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
</IfModule>
<IfModule !mod_fcgid.c>
# for normal Apache installations
<IfModule mod_php5.c>
RewriteRule ^(.*)$ index.php/$1 [QSA,L]
</IfModule>
# for Apache FCGI installations
<IfModule !mod_php5.c>
RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
</IfModule>
</IfModule>
我刚评论过RewriteBase /
我不明白RewriteBase的作用,所以我的回答可能不对。
这是我与HMVC一起使用的.htaccess,我没有问题。
RewriteEngine on
Options -Indexes
RewriteCond $1 !^(index\.php|assets|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
答案 1 :(得分:0)
我在HMVC CI3中的.htaccess中使用以下代码...在实时服务器和localhost-上正常工作
<IfModule mod_rewrite.c>
RewriteEngine On
Options -Indexes
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>