Нужна помощь с RewriteRule - Apache - PullRequest
2 голосов
/ 04 июня 2010

Вот что я хочу сделать:

http://www.mysite.com/      >    http://www.mysite.com/index.php
http://www.mysite.com/asd   >    http://www.mysite.com/index.php?page=$1

asd будет именем страницы, которая будет добавлена ​​к переменной $ page в index.php.

Мое текущее правило перезаписи успешно перенаправляет запрошенную страницу, но не может загрузить страницу index.php по умолчанию.

RewriteEngine On
RewriteRule ^([\w]*)$ /index.php?page=$1 [L]

Как мне это исправить? : /

Ответы [ 2 ]

1 голос
/ 18 января 2012

Для меня я просто передаю полный путь к странице индекса.

RewriteRule ^.*$ /index.php?page=$0 [L,QSA]

Затем используйте list() и explode(), чтобы разбить его на части.

list( $param1, $param2, $param3 ) = explode( "/", $_GET['page'] );

В противном случае вам понадобятся два правила.

Или используйте то же правило и на / странице есть пустой параметр? Page =.

1 голос
/ 04 июня 2010

Вам нужно иметь одно правило, которое соответствует только /:

RewriteRule ^/$ /index.php [L]

А потом другой:

RewriteRule ^/([\w]+)$ /index.php?page=$1 [L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...