如何在服务器中设置 mod_rewrite

How to setup mod_rewrite in server

我的应用程序中有这样的 .htaccess 文件。 (仅为安全示例)

<IfModule mod_rewrite.c>

   RewriteEngine On
   RewriteBase /app_folder/ 

   #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?/ [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?/ [L]

   #Checks to 
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)$ index.php?/ [L]    

</IfModule>

<IfModule !mod_rewrite.c>
   # If we don't have mod_rewrite installed, all 404's
   # can be sent to index.php, and everything works as normal.
   # Submitted by: ElliotHaughin

   ErrorDocument 404 /index.php

</IfModule>

in (Rewritebase /app_folder/) 如果我的应用程序在服务器中,我将在 app_folder 名称中输入什么?我应该把主机名放在 app_folder 中吗?例如

  Rewritebase /http://example.com/

因为我的 app_folder 现在是我的 webroot。我是使用 CentOS 在服务器中上传我的 HMVC codeigniter 设置的新手。

在Ubuntu(linux):

运行 在终端中:

a2enmod rewrite

然后:

service apache2 restart

mod_rewrite 现在将启用!


在Windows(wamp)

您可以手动编辑 httpd.conf 文件

left click wampmanager -> Apache -> httpd.conf

这将在记事本中打开该文件,您可以找到该行 #LoadModule rewrite_module modules/mod_rewrite.so 并删除注释符号“#”以激活模块。然后保存文件并重新启动 Apache 以激活此更改。