我成功实现了htaccess以删除codeigniter中的index.php。这意味着我可以通过domain.com/controllername访问任何控制器。
但是,我意识到通过此实现,我无法通过URL访问服务器中的子目录。如果有解决此类问题的工作解决方案,请提供建议。
谢谢
我现在使用的htaccess如下
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|update\.php|administrator\.php|assets|admin|robots\.txt|favicon\.ico)
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>
<FilesMatch ".(ico|jpg|jpeg|png|gif)$">
ExpiresActive On
ExpiresDefault "access plus 1 month"
</FilesMatch>
答案 0 :(得分:1)
标记这可能是您无法访问子问题的可能解决方案 系统的文件夹。
# if a directory or a file exists, use it directly
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php #Here you write the line which will overwrite the index.php and will move the control to your controller.
代码中的注释本身就是自我说话。 要获得更准确的答案,请发布您正在使用的确切内容。 希望对你有帮助。
答案 1 :(得分:0)
如果您指出域内的另一个站点也称为子文件夹。像这样编辑.htaccess:
RewriteBase /domain.com/sub-folder/
或
RewriteBase /sub-folder/