0

ローカルホスト開発環境とホストされている本番サイトの両方で正しく書き換えることができる1つの.htaccessファイルが必要です。現在、作業しているサイトごとに2つの別々のファイルコピーを保持する必要があります。.htaccessファイルのいずれかを吹き飛ばすことなく2つのサイトを同期できるようにしたいと思います。

以下は、私がやりたいことを示すためにコメントに小さな擬似コードを付けて使用している.htaccessファイルです。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond $1 !^(index\.php|images|robots\.txt|css)

## IF the url looks like its from localhost then use this rule
  ## The incoming url might look like: http://localhost/mysite/about
    RewriteRule ^(.*)$ /mysite/index.php/$1 [L]
## Else do this rewrite
  ## The incoming url might look like: http://www.mysite.com/about
    RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
</IfModule>

<IfModule !mod_rewrite.c>
    ErrorDocument 404 /index.php
</IfModule> 

これが私のサーバー構成です:

開発:Windows上のxampp

制作:Dreamhost

4

3 に答える 3

1

私はこれについて少し錆びていますが、私は思います:

RewriteCond %{HTTP_HOST} ^www.domain.com$ [NC]

#Do your live stuff here

RewriteCond %{HTTP_HOST} ^localhost$ [NC]

#Do your local stuff here
于 2009-10-08T19:46:46.707 に答える
0

RewriteCondを使用して%{HTTP_HOST}を確認します。例えば:

RewriteCond %{REMOTE_HOST}  ^localhost$
于 2009-10-08T19:45:10.423 に答える
0

本番サーバーと同じ設定で、開発環境用に別の仮想ホストを使用します。

httpd.confまたはhttpd-vhosts.conf構成ファイルに別の<VirtualHost>コンテナーを追加し、設定を調整するだけです。

<VirtualHost *:80>
    ServerName example.com.local
    DocumentRoot /absolute/filesystem/path/to/your/localhost/mysite
</VirtualHost>
于 2009-10-08T19:58:24.750 に答える