1

私が達成したいこと:

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]
4

1 に答える 1

1

これだけ欲しいならwww.mydomain/app => www.mydomain/app/

次に、次の行をに追加するだけですDOCUMENT_ROOT/.htacces

DirectorySlash On

ルートの最初の行として.htaccess

于 2013-12-16T12:22:05.177 に答える