Справка по htaccess mod_rewrite - PullRequest
       8

Справка по htaccess mod_rewrite

0 голосов
/ 04 марта 2010

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

т.е. 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. на них все ссылаются из папки 'website'.

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

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

Ответы [ 2 ]

0 голосов
/ 04 марта 2010
<IfModule mod_rewrite.c>
    RewriteEngine on

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

 </IfModule>

этот код htaccess перенаправляет весь трафик с 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

0 голосов
/ 04 марта 2010

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 в адресной строке.

...