Как добавить статические маршруты в приложение CodeIgniter? - PullRequest
0 голосов
/ 16 сентября 2010

Как настроить приложение CodeIgniter, чтобы у меня был один каталог, который будет обслуживать только статический (не MVC) HTML-код?

Я хочу обработать некоторые существующие ссылки в виде:

http://mysite/contactform/contact.html?queryvars

Все, что находится в каталоге / contactform, включая подкаталоги (это просто некоторые css, js, images и т. Д.), Не должно проходить через конвейер CodeIgniter.Каков наилучший способ справиться с этим?(Обычно я разработчик Windows, так что говорите медленно)

Я полагаю, это должно быть сделано в конфигурации перезаписи?

rout.php очень прост:

$route['default_controller'] = "home";

переписать правила из .htaccess:

# you probably want www.example.com to forward to example.com -- shorter URLs are sexier.
#   no-www.org/faq.php?q=class_b
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

RewriteEngine on
RewriteCond $1 !^(index\.php|contact\.php|images|css|js|video|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]

1 Ответ

0 голосов
/ 16 сентября 2010

Измените ваш .htaccess следующим образом:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

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

RewriteCond %{REQUEST_FILENAME} !-f говорит mod_rewrite игнорировать URL-адрес, если это фактический файл, а RewriteCond %{REQUEST_FILENAME} !-d говорит, что он игнорирует его, если это каталог.

...