У меня есть этот сайт на CodeIgniter, и я установил traq для отслеживания проблем. Под public_html
У меня есть приложение и системный каталог, а также каталог ресурсов, а также traq. то есть:
public_html
├── application
├── assets
├── system
└── traq
Моя страница работает правильно, как и первый экран входа в traq, когда я захожу http://mywebpage.com/traq . Когда я посещаю любую другую страницу в traq, она не работает, она перенаправляется на codeigniter и выдает мне 404. Например, когда я вхожу в систему, он пытается перейти на http://mywebpage.com/traq/login и терпит неудачу с 404.
Вот мой .htaccess
файл. Может кто-нибудь исправить это или хотя бы указать мне правильное направление?
<IfModule mod_rewrite.c>
RewriteEngine On
#RewriteBase /
RewriteCond %{REQUEST_URI} ^ci_app.*
RewriteRule ^(.*)$ index.php?/$1 [L]
RewriteCond %{REQUEST_URI} ^traq.*
RewriteRule ^traq(.*)$ traq/index.php/$1 [L]
RewriteCond $1 !^(index\.php|humans\.txt|robots\.txt|assets|traq)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>
RewriteCond %{REQUEST_URI} ^traq.* RewriteRule ^traq(.*)$ traq/index.php/$1 [L]
Условное выражение запроса должно содержать абсолютное местоположение, поскольку вы используете якорь «начало строки» (^)! ^ traq не будет соответствовать / traq, ^ / traq будет. Исправьте это везде, где вы используете якорь ^, и вы золотые.