私が達成したいこと:
www.mydomain/app => www.mydomain/app/
このURLのみ。
私はSlim 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]
私を助けるかもしれないガイダンスや参考文献をありがとう。
アップデート:
私のルートディレクトリ .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]