2015-08-14 3 views
0

Это мой файл .htaccess. СтруктураКак использовать ReWriteBase в этом сценарии?

<IfModule mod_rewrite.c> 

RewriteEngine On 
RewriteBase /~new/ 

</IfModule> 

Каталог моего сайта это:

enter image description here

Теперь то, что я хочу сделать, чтобы иметь возможность посетить пути, как следующие:
domain.com/~new/pages/page1.php

Но когда я попробуйте посетить выше URL Я получаю перенаправлен на 404 page. Что мне не хватает? Нужны ли ReWriteRule?

ответ

1

RewriteBase не делает, что вы думаете. На самом деле он сам по себе ничего не делает. RewriteBase необходимо, только если у вас есть относительные замены пути в вашем RewriteRule. И если вы этого не делаете (т. Е. Используете корневые или абсолютные пути), вам это действительно не нужно.

Нужны ли ReWriteRule?

Да, RewriteRule - это то, что на самом деле переписывает URL. И вам нужно переписать URL-адрес.

Так, в принципе, вы хотите внутренне переписать свои адреса из:
example.com/~new/pages/page1.php (Ваш "виртуальный" URL)
в example.com/pages/page1.php (The реального URL)

RewriteRule ^~new/(.*) /$1 [L] 

В (.*) захватами все после /~new/ и $1 является обратной ссылкой на этот захваченный подшаблон.

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