Проблемы .htaccess: Никакой входной файл не указан

Наследование может быть сложным. Давайте запустимся с самого простого из них всех - наследование поведения. Вот, пожалуйста наследовав поведение только и никакое состояние. Например: И Человеком и Животным являются Одушевленные объекты, которые показывают поведение IsAlive. Использовать Ваш пример:

class LivingThing {
   /* We propose a new type */
  public:
    virtual bool IsAlive() = 0;
    virtual void Birth() = 0;
    virtual void Death() = 0;
};

class Person : public  LivingThing {
    /* A real living thing */
  public:
    virtual bool IsAlive() { return true; }
    virtual void Birth() {}
    virtual void Death() {}
    /* .. and has some special behavior */
    void Marry();
    void Divorce();
};

class Animal: public  LivingThing {
    /* A real living thing */
  public:
    virtual bool IsAlive() { return true; }
    virtual void Birth() {}
    virtual void Death() {}
    /* .. and has some special behavior */
    void Bite();
    void Bark();
};

я записал этому использованию синтаксис C++, если Вы имеете проблемы при понимании какого-либо из него, просто говорите так!

41
задан Prabhu 27 December 2017 в 08:01
поделиться

5 ответов

Я тоже бился головой об этом. Я также устанавливаю Code Igniter.

Goocher не был RewriteBase. Вот мой .htaccess:

DirectoryIndex index.php

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|robots\.txt)

RewriteRule ^(.*)$ index.php?/$1 [L]
85
ответ дан 27 November 2019 в 00:10
поделиться

Попробуйте, если он работает с более простым RewriteCond ; как тот, который перезаписывает только все, что не является существующим файлом / папкой / ссылкой:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^(.*)$ /index.php/$1 [R,L]
4
ответ дан 27 November 2019 в 00:10
поделиться

mod_rewrite слишком умен для собственного блага, потому что он пытается выяснить, какой тип перенаправления он должен делать. В этом случае mod_rewrite выглядит так, как будто вы пытаетесь перенаправить в папку, поэтому он ищет папку и не может ее найти, отсюда и ошибка.

Изменить: Просто для полной ясности, я думаю, лучше всего изменить правило перезаписи на:

RewriteRule ^(.*)$ /index.php?$1 [L]

, если нет очень конкретной причины, по которой вы хотите использовать косую черту.

Редактировать 2: Я вижу, что вы уже пробовал это. Причина, по которой вы получаете бесконечный цикл, заключается в том, что у вас есть index.php в вашем условии перезаписи. Если вы удалите это, вы должны освободиться от бесконечного цикла.

3
ответ дан 27 November 2019 в 00:10
поделиться

Очень вероятно, что администратор вашего хоста отключил возможность используйте Rewrite в .htaccess. Возможно, у них даже не установлен mod_rewrite.

Отправьте им электронное письмо и спросите

Поскольку это проблема конфигурации сервера, возможно, вам следует спросить на Ошибка сервера

Редактировать (поскольку вы уверены, что сервер настроен правильно)

Рассматривали ли вы возможность пометить свой RewriteCond концом строки $?

RewriteCond $1 !^(index\.php|css|gfx|js|swf|robots\.txt|favicon\.ico)

Будет ли (на основе моих ограниченных знаний) блокировать любой URL-адрес, содержащий index.php, css, gfx ... в начале URL. Поскольку у вас нет символа $ в конце регулярного выражения, оно также будет блокировать любые URL-адреса, которые продолжаются оттуда ...

То есть www.yourdomain.com/index. php / something не перенаправляется, то же самое с www.yourdomain.com/js/something

Возможно, вы хотите добавить $, который потребует, чтобы url заканчивался сразу после вашего регулярного выражения.

RewriteCond $1 !^(index\.php|css|gfx|js|swf|robots\.txt|favicon\.ico)$
0
ответ дан 27 November 2019 в 00:10
поделиться

Возможно, на вашем сервере отключен AcceptPathInfo , что необходимо для правильной работы такого URL . Попробуйте включить его:

AcceptPathInfo On

Хорошо, попробуйте это правило:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule !^index\.php(/|$) index.php%{REQUEST_URI} [L]
-1
ответ дан 27 November 2019 в 00:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: