2009-10-08 6 views
0

Я хотел бы иметь один файл .htaccess, который может корректно переписываться как в моей среде разработки localhost, так и на моем размещенном сайте. Сейчас я должен хранить две отдельные копии файлов для каждого сайта, над которым я работаю. Я хотел бы иметь возможность синхронизировать два сайта, не сдувая ни одного из их файлов .htaccess.Как я могу написать .htaccess, который будет переписываться по-другому на основе URL-адреса запроса?

Ниже представлен файл .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> 

Вот мой сервер конфигурации:

Разработка: XAMPP на окнах

Производство: Dreamhost

ответ

1

Я немного ржавый на это, но я думаю:

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

#Do your live stuff here 

RewriteCond %{HTTP_HOST} ^localhost$ [NC] 

#Do your local stuff here 
0

Используйте RewriteCond, чтобы проверить% {HTTP_HOST}. например:

RewriteCond %{REMOTE_HOST} ^localhost$ 
0

Я бы просто использовать отдельный virtual host для среды разработки с теми же настройками, как ваш производственный сервер имеет.

Просто добавьте еще один контейнер <VirtualHost> к вашему httpd.conf или HTTPD-vhosts.conf файл конфигурации и настройки параметров:

<VirtualHost *:80> 
    ServerName example.com.local 
    DocumentRoot /absolute/filesystem/path/to/your/localhost/mysite 
</VirtualHost> 
+0

Это хорошая идея, но я предпочитаю, чтобы разрабатывать и отлаживать на мой затем загрузите изменения. –