Как переписать мой URL? - PullRequest
       25

Как переписать мой URL?

1 голос
/ 16 июня 2011

Hy!

Я занимаюсь разработкой веб-сайта, и у меня возникла небольшая проблема с .htaccess.

Проблема: как переписать URL-адреса?

From: http://www.mysite.com/index.php?page=about 
To:   http://www.mysite.com/about/

и

From: http://www.mysite.com/index.php?page=stuff&catId=1
To:   http://www.mysite.com/stuff/1/

и

From: http://www.mysite.com/index.php?page=stuff&catId=1#someAnchor
To:   http://www.mysite.com/stuff/1/#someAnchor

В настоящее время я делаю это, но это не работает!: (

<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^page/([^/\.]+)/?$ index.php?page=$1 [L]
RewriteRule ^page/([^/.]+)/([^/.]+)/?$ index.php?page=$1&catId=$2 [L]
</IfModule>

Пожалуйста, помогите. Заранее спасибо, Сильвано.

Ответы [ 3 ]

2 голосов
/ 17 июня 2011

Это будет делать то, что вы хотите:

#Rewrite /about/ to /index.php?page=about
RewriteRule ^([0-9a-z]+)/?$ index.php?page=$1 [NC,L]

#/stuff/1/ to /index.php?page=stuff&catId=1
RewriteRule ^([0-9a-z]+)/([0-9]+)/?$ index.php?page=$1&catId=$2 [NC,L]

#/stuff/1/#someAnchor to /index.php?page=stuff&catId=1#someAnchor   
RewriteRule ^([0-9a-z]+)/([0-9]+)/(#[0-9a-z]+)?$ index.php?page=$1&catId=$2$3 [NC,L]

Работает на моем локальном сервере (WAMP).

1 голос
/ 16 июня 2011
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^([^/\.]+)/?$ index.php?page=$1 [L]
RewriteRule ^([^/.]+)/([^/.]+)/?$ index.php?page=$1&catId=$2 [L]
0 голосов
/ 16 июня 2011

То, что у вас сейчас есть, ваш файл .htaccess не связан с вашими запросами на перезапись.

Вот что вам нужно:

Первое:

RewriteRule ^(.*)/$ index.php?page=$1

Второй:

RewriteRule ^(.*)/([0-9]*)$ index.php?page=$1&catId=$2

Обязательно добавьте RewriteEngine on вверху.

Ваш сервер никогда не получит часть URL "#someAnchor", потому что в браузере нетМир отправит это как часть запроса.Браузер держит его в секрете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...