То, что я хочу добиться:Добавить слэш для определенного каталога (Слим рамки)
www.mydomain/app => www.mydomain/app/
Только для этого URL.
Я использую тонкий Framework и это, как я обрабатывать мой маршрут:
$app->get('/', function() use ($app){
// Some code goes here
});
Что я пробовал:
1) Есть результаты с этим:
$app->get('/?', function() use ($app){
// Some code goes here
});
$app->get('(/)', function() use ($app){
// Some code goes here
});
2) Это один работает, но файлов нарушает мои другие маршруты:
RewriteCond $0 !^app(/|$)
RewriteRule ^[^\.]+[^/]$ /$0/ [R=301,L]
Например я получил маршрут
www.mydomain.com/app/panel
после правил выше перенаправляет меня
www.mydomain.com/panel/
3) Этот тоже работает, но он добавляет косые черты для каждого URL:
# Add a trailing slash to any non-existent files
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ %{REQUEST_URI}/ [R=301,L]
4) Это один перенаправляет меня www.mydomain.com/
RewriteCond %{REQUEST_URI} ^/(app|foo|bar)$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]
Спасибо за каких-либо указаний или ссылки, которые могли бы помочь мне.
UPDATE:
Мой корневой каталог .htaccess:
AddHandler php53 .php
Action php53 /cgi-bin/php53.cgi
DirectoryIndex index.php
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>
RewriteEngine on
#RewriteCond %{REMOTE_HOST} !^192\..*
#RewriteRule ^(.*) http://www.randomurl.com/$1 [R,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?rqp=$1 [L,QSA]
php_flag last_modified 1
php_flag register_globals 0
php_flag display_errors 1
php_flag magic_quotes_gpc 1
php_flag error_reporting E_ALL
AddDefaultCharset utf-8
#AddType text/html .d
AddHandler application/x-httpd-php .dll
Мой каталог приложений .htaccess:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule^index.php [QSA,L]
работ для www.mydomain/приложение => www.mydomain/приложение /. Но я получаю 404 на www.mydomain/app/panel. – mintaras
Как вы можете видеть, что шаблон '^ (app) $' не будет соответствовать '/ app/panel', поэтому он не будет вызывать 404. Работает ли'/app/panel' без этого правила? – anubhava
Чтобы другие URL-адреса работали правильно, эти правила определены: ** RewriteEngine On RewriteCond% {REQUEST_FILENAME}!-f RewriteRule^index.php [QSA, L] ** Но тогда ваше правило перестает работать. – mintaras