2010-03-04 2 views
0

У меня есть домен с веб-сайтом в папке.htaccess mod_rewrite help

т.е. http://domain.com.au/website/page.php

я иметь доступ только к файлам .htaccess, чтобы правила. я хотел бы мой URL, чтобы посмотреть, как это ..

http://domain.com.au/page

так что по сути я хочу бросить вложенную его сидя в, и PHP расширение,.

Все ссылки в моем PHP структурированы так, хотя

<a href="/website/page.php">page link</a> 

это то же самое для JS и CSS. на них все ссылаются из папки «веб-сайт».

будет переписывать означает, что мне нужно изменить все мои ссылки?

приоритет - удаление папки с URL-адреса, а не расширение php.

ответ

0

1) Вы можете перенести все файлы в корневой веб-каталог и запустить веб-сайт оттуда. 2) Вам нужно будет вручную изменить каждую ссылку, чтобы удалить каталог веб-сайта с самого начала, а затем использовать файл .htaccess для перенаправления страниц на соответствующую страницу. Если вы собираетесь сделать это таким образом, вы можете также удалить расширение PHP ...

RewriteEngine On 
Options +FollowSymLinks 

RewriteCond %{HTTP_HOST} ^domain.com.au$ [NC] 
RewriteRule ^(.*)/ website/$1.php [L] 

Вы, возможно, придется изменить website/$1.php часть, чтобы включить весь свой корневой каталог в некоторых случаях, но это должно работайте до тех пор, пока файл .htaccess находится в корневом каталоге. Это перенаправит любую страницу в форме «http://domain.com.au/page» на «http://domain.com.au/website/page.php», сохраняя при этом URL-адрес в адресной строке.

+0

Почему именно вы проверяете HTTP_HOST? 'RewriteCond% {HTTP_HOST}^domain.com.au $ [NC]' –

+0

Также почему вы и Раз используете последний флаг. Это совершенно бессмысленно, когда у вас есть одно правило перезаписи. – anomareh

+0

Я забыл упомянуть, что есть вложенные папки/website , поэтому это правило не работает. поэтому ему необходимо работать с domain.com.au/website/page.php И domain.com.au/website/bla/page2.php и т. д. также не работает для js и css – lukemh

0
<IfModule mod_rewrite.c> 
    RewriteEngine on 

     RewriteRule ^page\_one/(.*)/([0-9]{1,6})/?$ webroot/products/products/view/$2 [L] 

</IfModule> 

этот Htaccess код перенаправляет все Trafic от www.domain.com/page_one/anything/numeral

на страницу www.domain.com/webroot/products/products/view/same позици

для примера, что-то вроде

RewriteRule ^page?$ website/page.php$2 [L] 

отметить, что это работает для «страницы» в виде строки, если вам нужны другие функции, изменить его

Для получения дополнительной информации вы можете взглянуть на эту ссылку: http://www.javascriptkit.com/howto/htaccess.shtml