Codeigniter + Opencart на одном хосте - проблемы с маршрутизацией URI - PullRequest
0 голосов
/ 15 июля 2010

ОК. Я искал доски объявлений и не мог найти никакого конкретного ответа.сайт и магазин не совпадают.Codeigniter был использован для обработки всего, поэтому теперь я хочу добавить магазин, используя Opencart, и проблема заключается в маршрутизации URI.

(Правда в том, что я не фанат КИ, но так как парень до меня использовал его, у меня нет другого выбора, кроме как продолжить, и теперь я должен добавить магазин вместе с КИ!)Я отделяю веб-сайт от магазина и помещаю каждый в отдельную папку на хосте и использую правила переписывания .htaccess для обработки URI, связанных с каждым MVC, или я могу сделать что-то простое?

1 Ответ

0 голосов
/ 15 июля 2010

Вы должны иметь возможность создать папку на том же уровне, что и ваша «системная» папка CI, и там вы можете скопировать все файлы магазина. Затем вы просто получаете доступ к магазину через domain.com/shop/

Я не думаю, что вам нужно менять какие-либо правила маршрутизации или .htaccess, если у вас уже есть файл .htaccess по умолчанию, который удаляет index.php из URL-адресов CI. Я делаю это на нескольких сайтах, и он отлично работает.

РЕДАКТИРОВАТЬ: вот мой полный файл .htaccess для сайта, где это работает нормально

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /    

    redirect 301 /disclaimer/disclaimer.html /disclaimer.html

    #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]

    #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

    #special rule to allow the 301 redirect from above
    RewriteCond %{REQUEST_URI} !disclaimer/disclaimer.html$ 

    RewriteRule ^(.*)$ index.php?/$1 [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>

#####################################################
# CONFIGURE media caching
#
Header unset ETag
FileETag None
<FilesMatch "(?i)^.*\.(ico|flv|jpg|jpeg|png|gif|js|css)$">
Header unset Last-Modified
Header set Expires "Fri, 21 Dec 2012 00:00:00 GMT"
Header set Cache-Control "public, no-transform"
</FilesMatch>
#
#####################################################

<IfModule mod_deflate.c>
<FilesMatch "\.(js|css)$">
SetOutputFilter DEFLATE
</FilesMatch>
</IfModule>
...