2009-06-02 8 views
1

Я пытаюсь настроить привязки страниц на веб-сайте, использующем mod_rewrite (Apache2 работает на сервере Ubuntu 9.04).Ссылка на страницу с mod_rewrite?

Мой файл Htaccess выглядит следующим образом:

RewriteEngine On 
RewriteRule ^information.php/([A-Za-z0-9-]+)/?$ information.php?display=$1 [NC,NE] 

Если я использую регулярные URL, запрос будет выглядеть примерно так: http://mydomain/information.php?display=faq#cost

Я в надежде получить что-то вроде этого: http://mydomain/information/faq/cost

Возможно ли это? Мое понимание заключается в том, что modrewrite игнорирует привязки страниц и что браузер имеет дело с ним? Я предполагаю, что могу каким-то образом использовать mod_rewrite для включения информации о якоре с запросом, но я не смог найти что-либо, документировав это, и пытался безуспешно писать его сам часами.

Спасибо!

ответ

3

На самом деле, если вы хотите, чтобы получил URL-адрес, чтобы иметь якорь, то да, это возможно. Просто не забывайте, что в конфигурациях Apache # отмечает начало комментария.

Если вы хотите, чтобы это было так: пользователь вводит

http://example.com/page/anchor
и перенаправляется на
http://example.com/?p=page#anchor
- вам нужно будет использовать 301 Redirect или что-то в этом роде, чтобы он не был прозрачным для пользователя.

Заключение: Несмотря на то, что такое правило перенаправления можно написать, оно не может быть выполнено полностью на стороне сервера. Поэтому я думаю, что вы могли бы указать /information/faq на /information.php?display=faq, а затем использовать такие URL-адреса, как:

http://example.com/information/faq#foo
, которые вы почти хотите, плюс они не испортили кеширование.

(Вау, это уже полночь?)

+1

+1, Хороший вопрос, я неправильно понял вопрос и подумал, что это было наоборот. –

+0

Хм, я тоже неправильно прочитал вопрос - хотя это перенаправление возможно, оно не будет прозрачным для пользователя, так как оно не может быть выполнено на стороне сервера, только с использованием перенаправления HTTP. – grawity

+0

Да, конечно. Необходимо перенаправление HTTP. –

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

  • Нет связанных вопросов^_^