настройка маршрутов .php в Codeigniter

Я только начинаю новый проект и застрял в конфигурации URI Codeigniter.

Я использую xampp, и до сих пор у меня есть папка с моим сайтом по этому пути:

c:/xampp/htdocs/new_admin/site/application
c:/xampp/htdocs/new_admin/site/system

Как сказано в руководстве Codeigniter, я добавил в config.php базовый URL, который я считаю следующим:

$config['base_url'] = 'http://localhost/new_admin/';

Я оставил index_page пустым:

$config['index_page'] = '';

Я хочу, чтобы мой URI был похож на:

http://localhost/new_admin/[controller]/[method]

например:

http://localhost/new_admin/admin/index

Итак, в файле rout.php я сделал это:

$route['default_controller'] = 'admin';
$route['(:any)'] = 'admin/index';

Но это даже не показывает результат индекса метода. Ошибка 404.

Поскольку я не могу найти решение в документации, я думаю, что что-то упустил.

Как я могу сделать так, чтобы это работало так, как я хочу?

Обновление: я написал это в файле .htaccess

#Deny from all

RewriteEngine On

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

ErrorDocument 404 /index.php

0

Решение

Так что после дня попыток я обнаружил, что был неправ при настройке моего виртуального хоста в

c:/xampp/apache/conf/extra/httpd-vhosts.conf

Вот как это сейчас и работает:

<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot "C:/xampp/htdocs/new_admin/site"ServerName local.new_admin
</VirtualHost>

<Directory "C:/xampp/htdocs/new_admin/site">
Options Indexes FollowSymLinks
AllowOverride all
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
# to allow access from my local network add this line so other PC on my   network are allowed in but not anything from the internet
# If you want the world to be allowed in uncomment this line
allow from all
</Directory>

Затем на

c:/windows/system32/drivers/etc/hosts

Я добавил эти строки:

127.0.0.1    localhost
127.0.0.1    local.new_admin  #this is my site

И после исправления я добавил новый файл .htaccess в этот каталог:

c:/xampp/htdocs/new_admin/site/

который содержит:

php_value memory_limit 64M
php_flag magic_quotes_gpc 0
php_flag magic_quotes_runtime 0

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]

# 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

Рядом с папкой приложения Codeigniter и системной папкой, чтобы добавить разрешения mod_rewrite

Теперь, чтобы получить доступ к своему проекту локально, я просто набираю:

http://local.new_admin/admin/index

Надеюсь, что это полезно для новичков, как я.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]