codeigniter с quercus показывает ошибку 404

Я пытаюсь использовать quercus для запуска codeigniter на tomcat.

Я установил quercus в webapps/ROOT, затем codeigniter в webapps/ROOT/имя приложения.

Я могу получить доступ к index.php в webapps/ROOT/имя приложения, но если я попытаюсь получить доступ к ROOT/имя приложения/index.php/login/login, произойдет ошибка 404. Я даже не могу получить доступ к ROOT/appname/welcome.

как решить эту ошибку 404?

Я использую codeigniter 2.x.


Я использовал urlrewriterfilter вместо htaccess. Но, похоже, это не работает. Ниже приведен мой urlrewrite.xml.

<urlrewrite>
  <rule>
    <name>Generic Pretty URLs Pass-through</name>
    <condition type="request-uri" operator="notequal">^/(robots.txt|osd.xml|flex2gateway|cfide|cfformgateway|railo-context|admin-context|files|images|jrunscripts|javascripts|miscellaneous|stylesheets)</condition>
    <condition type="request-uri" operator="notequal">\.(bmp|gif|jpe?g|png|css|js|txt|xls|ico|swf|woff|ttf|otf)$</condition>

        <condition type="request-filename" operator="notdir"/>
        <condition type="request-filename" operator="notfile"/>

        <from>(.*)</from>
        <to type="passthrough" last="true">index.php/$1</to>
</rule>
</urlrewrite>

person Kims    schedule 22.04.2016    source источник
comment
Для маршрутизации Codeigniter с красивыми URL-адресами требуется файл .htaccess с некоторыми правилами перезаписи в Apache HTTPD. Quercus не поддерживает этот файл .htaccess. Вместо этого вам понадобится что-то вроде этого: stackoverflow.com/questions/5920870/   -  person Sergiu Paraschiv    schedule 22.04.2016
comment
Спасибо Серджиу. К сожалению, ссылки не помогают. Я также обнаружил urlrewriterfilter, но не смог найти пример изменения htaccess codeigniter на urlrewrite.xml   -  person Kims    schedule 25.04.2016
comment
Htaccess Codeigniter используется всеми фреймворками, реализующими шаблон внешнего контроллера. Вы должны быть в порядке с любым urlrewrite.XML, который перенаправляет что-либо, кроме существующих файлов в общей папке, на index.php.   -  person Sergiu Paraschiv    schedule 25.04.2016
comment
Кажется, это не работает. Я прикрепил свой urlrewrite.xml выше.   -  person Kims    schedule 25.04.2016


Ответы (1)


Я нашел ответ. Я не совсем уверен, речь идет о маршруте URL или нет. Но решения заключались в том, чтобы поставить '?' после index.php. Короче говоря, я просто сделал следующее: /appname/index.php?/login/login

Тогда это работает!

person Kims    schedule 02.05.2016