2017-01-26 6 views
0

У меня есть небольшая, но трудная для понимания проблема с .htacess в системе CMS..htacess специфические изменения url

У меня мода истекает, этот кеш-файл на весь сайт, но я не хочу кэшировать содержимое в/admin-URL, я не могу сделать еще один .htacess, couse У меня есть структура MVC и нет реальной директории который мог бы содержать все мои админы.

Я нашел директиву, но он работает только в конфигурации сервера, и я хочу, чтобы он работал с разными хостингами, поэтому только в htacess-файле.

Пожалуйста, помогите

Edit- Перепишите

# Turn on URL rewriting 
RewriteEngine On 

# Installation directory 
RewriteBase/

RewriteCond %{HTTP_HOST} !^www. [NC] 
RewriteCond %{HTTP_HOST} ![0-9]$ [NC] 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301] 

# Protect hidden files from being viewed 
<Files .*> 
    Order Deny,Allow 
    Deny From All 
</Files> 

# Protect application and system files from being viewed 
RewriteRule ^(?:application|modules|system)\b.* index.php/$0 [L] 

# Allow any files or directories that exist to be displayed directly 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

# Rewrite all other URLs to index.php/URL 
RewriteRule .* index.php/$0 [PT] 
+0

вы должны быть более точным, например, какую CMS вы используете, что такое MVC, у которого нет «реальной директории» и т. д. Но если вы используете .htaccess, вы можете имитировать поведение каталога, путем установки определенных правил, которые будут применяться только к определенным синтаксисам URL. – Kaddath

+0

Это локальная CMS, которая имеет множество сложных файлов для администрирования в разных реальных справочниках. И мой вопрос заключается в том, как имитировать поведение по методу дрейфа для синтаксисов URL-адреса. Я хочу, чтобы все, что имеет/admin/* url – Aksebkit

+0

, также зависит от того, что у вас уже есть в файле .htaccess (например, переписать URL-адрес может испортить некоторые директивы пути). Это должно быть возможно с помощью '' или '', где вы можете добавить директиву, которая будет применяться к определенным путям вашего URL-адреса. См. Здесь подробности http://httpd.apache.org/docs/2.2/mod/core.html#directory, я мог бы написать точный ответ сегодня, если у вас все еще есть проблемы – Kaddath

ответ

0

Вы можете применить ваши Истекает директивы, используя <if> директиву с выражением в соответствии с /admin:

<If "%{REQUEST_URI} =~ /^\/admin\//"> 
    # Your expiry directives 
</If> 
+0

Это дает мне ошибку 500 – Aksebkit

+0

@Aksebkit Какая версия вашего апача? – hjpotter92

 Смежные вопросы

  • Нет связанных вопросов^_^