当我访问该网站时,它给我一个404错误.
我的.htaccesss文件:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / #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.* RewriteRule ^(.*)$index.PHP?/$1 [L] #When your application folder isn't in the system folder #This snippet prevents user access to the application folder #Submitted by: Fabdrol #Rename 'application' to your applications folder name. 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] </IfModule> <IfModule !mod_rewrite.c> ErrorDocument 404 index.PHP </IfModule>
我真的不知道该怎么办.任何帮助都是有用的.谢谢.
404错误可能与此部分有关:
<IfModule !mod_rewrite.c> ErrorDocument 404 index.PHP </IfModule>
这意味着:如果没有使用或不存在Apache模块mod_rewrite.c,那么所有404都将被发送到index.PHP.如果您的codeigniter index.PHP位于根“web”文件夹(public_html)中,那么您应该编写ErrorDocument 404 /index.PHP.如果它在您需要的任何子文件夹中,例如:/dyar.no/index.PHP,其余规则也应指向相同的index.PHP.
如果您将它放在index.PHP(您网站的根文件夹的同一文件夹)附近,那么您当前的.htaccess可以正常工作.
此外,如果你没有有意义的条件和规则,.htaccess是没用的.你拥有的那个是专门用于codeigniter的,它有一个系统和一个应用程序文件夹.
您可以在其他网站的文件夹中包含多个.htaccess文件(如果您在多个文件夹中使用codeigniter,请将.htaccess复制到这些子文件夹,例如:如果dyar.no使用的是codeigniter副本.htaccess到那个文件夹).
我的建议
我注意到你也在使用wordpress,因此可以相应地更改这些规则…所以删除你当前的根.htaccess文件(来自public_html文件夹)并在你的wordpress网站安装BulletProof Security插件.完成后,在管理仪表板(BPS选项卡)中,您只需单击生成安全.htaccess(它会根据您的文件结构生成强大的.htaccess,并将涵盖大多数安全问题).之后,在根文件夹和管理文件夹上激活它,你应该完全覆盖它.
生成的.htaccess也可以很好地引用你可能需要的其他.htaccess.
http://www.askapache.com/htaccess/htaccess.html是我发现理解和写作.htaccess和here are a few examples的最佳参考之一.
希望能帮助到你!