Codeigniter htaccess for localhost

时间:2015-05-26 12:24:00

标签: php .htaccess codeigniter routing

我在codeigniter路由方面遇到了一些麻烦。我在托管服务器中有一个实时网站&这是它的htaccess。

#php_value memory_limit 256M
#php_value upload_max_filesize  50M
#php_value post_max_size  70M

AddType font/opentype .otf
AddType application/vnd.ms-fontobject .eot
AddType font/ttf .ttf
AddType application/font-woff .woff

AddDefaultCharset utf-8

<IfModule mod_rewrite.c>
   RewriteEngine on
   Options +FollowSymLinks
   RewriteBase /

   RewriteRule   ^favicon.* - [L]

   RewriteRule ^search /categories [R=301,L]
   RewriteRule ^login / [R=301,L]
   RewriteRule ^pages/disclaimer /pages/integritetspolicy [R=301,L]

   RewriteRule ^(.*)/$ http://%{HTTP_HOST}/$1 [R=301,L]

   RewriteRule ^index.php$ http://%{HTTP_HOST} [R=301,L]

   RewriteCond %{HTTP_HOST} !^example\.com
   RewriteRule (.*) http://example.com/$1 [R=301,L]

   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)$ index.php/$1

   RewriteCond %{HTTPS} off
   RewriteCond %{REQUEST_URI} (utredningar/post)
   RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301]

   RewriteCond %{HTTPS} on
   RewriteCond %{REQUEST_URI} !(utredningar/post)
   RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301]
 </IfModule>

 <IfModule !mod_rewrite.c>
    ErrorDocument 404 /index.php
 </IfModule>

这与域名(example.com)和&amp;托管服务器。在header.view&amp;在其他视图中,链接以

的形式给出
<href="/assets/styles/home.css?9">

但是当我尝试在wamp的localhost中完成这项工作时,它并不起作用。资产(css / js / images)没有加载&amp;网址路由不起作用。

我修改了这两行

RewriteCond %{HTTP_HOST} !^example\.com
RewriteRule (.*) http://example.com/$1 [R=301,L]

RewriteCond %{HTTP_HOST} !^localhost
RewriteRule (.*) http://localhost/example/$1 [R=301,L]

我更改了application / config / config.php,添加了基本url,删除了index.php等。

我已经尝试了一切可能的方法让它发挥作用,请指出我在哪里做错了..非常感谢

3 个答案:

答案 0 :(得分:2)

这是我的isToastShewnLeft,适用于制作开发服务器。

.htaccess

<强>的config.php

RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]

<强> routes.php文件

$config['base_url'] = '';
$config['index_page'] = '';

答案 1 :(得分:1)

1.在application/config.php文件

中进行以下更改
$config['base_url'] = 'http://'.$_SERVER['SERVER_NAME'].'/Your Ci folder_name';
$config['index_page'] = '';
$config['uri_protocol'] = 'AUTO';

2.使用以下代码

在根目录中创建.htacces文件
RewriteEngine on
RewriteBase /codeigniter           // add this
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

答案 2 :(得分:0)

我尝试了上面所有的解决方案,但没有一个对我有用,所以我整理了一些东西,现在我的本地服务器正在正常运行

这是您需要做的:正如Saty所说

$config['base_url'] = 'http://'.$_SERVER['SERVER_NAME'].'/Your Ci folder_name';
$config['index_page'] = '';
$config['uri_protocol'] = 'AUTO';

然后添加此htaccess代码:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]