0

http://www.mysite.com/test/に .htaccess ファイルがあり、 http: //mysite.com/test/にアクセスする人をhttp://www.mysite.comに送信するために使用しようとしています。 /test/しかし、それは機能していません。これが私のコードです:

# Force Caching
Header unset Pragma
FileETag None
Header unset ETag
<FilesMatch "\.(ico|jpg|jpeg|png|gif|js|css|swf|pdf|flv|mp3)$">
<IfModule mod_expires.c>
 ExpiresActive on
 ExpiresDefault "access plus 14 days"
 Header set Cache-Control "public"
</IfModule>
</FilesMatch>
<FilesMatch "\.(html|htm|xml|txt|xsl)$">
 Header set Cache-Control "max-age=7200, must-revalidate"
</FilesMatch>

# Enable gzip compression
<IfModule mod_mime.c>
 AddType application/x-javascript .js
 AddType text/css .css
</IfModule>
<IfModule mod_deflate.c>
 AddOutputFilterByType DEFLATE text/css application/x-javascript text/x-component text/html text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon application/javascript
 <IfModule mod_setenvif.c>
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
 </IfModule>
 <IfModule mod_headers.c>
  Header append Vary User-Agent env=!dont-vary
 </IfModule>
</IfModule>


# Main Rewrite rules
<IfModule mod_rewrite.c>
    Options +FollowSymlinks
    RewriteEngine On
    RewriteBase /

    # Always use www.
    RewriteCond %{HTTP_HOST} !^www [NC]
    RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R]

    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
</IfModule>

これを修正する方法についてのアイデアはありますか?

4

1 に答える 1

1

.htaccess ファイルは/testディレクトリにあります。これが、のリクエスト URL パターン/test/でプレフィックスが削除されている理由です。リクエストを適切にリダイレクトするには、置換を次のように変更する必要がありますRewriteRule.*

RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R]
于 2013-03-13T22:45:24.977 に答える