2009-04-01 5 views
1

Вот Начальный мой .htaccessЗачем это .htaccess пропустить мою RewriteBase?

# invoke rewrite engine 
     RewriteEngine On 
     RewriteBase /~new 


    # force non domain.com to www.domain.com 

    RewriteCond %{HTTP_HOST} !^www\. 
    RewriteRule ^(.*) http://www.%{HTTP_HOST}/$1 [R=301,L,NC] 

каждый раз прошу http://www.example.com/~new/whatever я послан к http://www.example.com/whatever. Я разместил скобки вокруг $ 1, и я получаю http://www.example.com/[whatever].

Почему это удаляет мой RewriteBase var?

Или, есть способ установить переменную окружения в .htaccess, чтобы я мог установить RewriteBase, а также поставить перед $ 1, чтобы сделать перенаправление?

ответ

3

Ну, это вроде как работает RewriteBase: она сдувает все ведущий путь к файлу из вашего запроса, а затем вновь вставляет RewriteBase позже. Но в вашем примере он не может выполнить повторное вхождение, потому что вы перенаправляете его на полностью определенный URL.

Я думаю, вы должны создать резервную копию и определить, что именно вы пытаетесь сделать, и, возможно, задать новый вопрос об этом, вместо того, чтобы предполагать, что RewriteBase - это то, что вам нужно использовать и фокусируясь на «почему RewriteBase делает то, что я хочу ». RewriteBase может не иметь никакого отношения к этому.

+0

Мой сайт в настоящее время находится в/~ новом/выключенном домене верхнего уровня, но когда он идет на производство, он просто будет TLD. Я хочу, чтобы сообщить мой .htaccess как только сайт будет расположен в подкаталоге, а затем перейдете на RewriteBase/при переключении на TLD. – alex

+0

... и все сразу сработает, просто изменив «RewriteBase/~ new» на «RewriteBase /' – alex

+0

Все Я задаюсь вопросом: если вы просто возьмете RewriteBase, какое поведение у вас получится, это будет проблемой? – chaos

0

просто сделайте sth. как это в начале файла, установите переписывания базы позже

RewriteCond %{HTTP_HOST} ^webmaster-eye\.de$ 
RewriteRule ^(.*)$ http://www.webmaster-eye.de/$1 [L,R=301] 
+0

Это не сработало извините :( – alex

Смежные вопросы