Немного помогите в переписывании URL, пожалуйста! - PullRequest
0 голосов
/ 04 июня 2011

У меня короткий вопрос о переписывании URL ...

У меня есть веб-сайт. Допустим, http://www.example.com/

с некоторыми подсайтами:

http://www.example.com/a.php
http://www.example.com/b.php

и т.д ...

и некоторые "особые" URL, такие как

http://www.example.com/c.php?i=1#link1
http://www.example.com/c.php?i=1#link2
http://www.example.com/c.php?i=2#link1

Теперь я хотел бы написать файл .htaccess для преобразования текущих URL-адресов в переписанные URL-адреса, например

http://www.example.com/a/
http://www.example.com/c/1/#link1

Я не эксперт в переписывании URL, так может кто-нибудь помочь мне?

Лучшие награды.

Ответы [ 2 ]

1 голос
/ 04 июня 2011
Options +FollowSymLinks
Options +Indexes
RewriteEngine On
RewriteBase /
RewriteRule ^a.php a/
RewriteRule ^b.php b/

Должно работать, насколько ваши статические страницы, вы не можете переписать хеш, потому что хеш не отправляется на сервер (как обсуждено здесь ). Если вам нужно переписать хеш, я бы предложил изменить хеш на другую переменную GET (например, u), в этом случае просто добавьте это в ваш htaccess: RewriteRule ^c.php?i=(.*)&u=(.*) c/$1/$2. Если вы просто намереваетесь оставить привязку, вы можете опустить ее в своем перезаписи, и все должно быть в порядке (... потому что сервер никогда не видит символ хеш / фунт), и в этом случае вы должны добавить это в свой код RewriteRule ^c.php?i=(.*) c/$1/.

1 голос
/ 04 июня 2011
RewriteRule ^a$ a.php [L]

RewriteRule ^c/(.*)/(.*) c.php?i=$1$2
...