Как использовать функцию mode_rewrite - PullRequest
0 голосов
/ 03 декабря 2010

Я хотел бы знать, как правильно использовать функцию php mode_rewrite. В настоящее время я работаю с xampp. Я активировал LoadModule rewrite_module modules/mod_rewrite.so в файле httpd.conf. Также я отредактировал следующие строки:

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Deny from all
</Directory>

В моем файле .htaccess у меня есть следующий код:

RewriteEngine On
RewriteRule ^([^/]*)\.html$ /?m=$1 [L]

Так что должно измениться ?m=start на ?start.html. Когда я сейчас открываю localhost/page/start.html, он показывает только «Это работает». Но почему он не показывает мне содержимое из localhost/page/?m=start?

Еще один вопрос: как изменить правило перезаписи, чтобы я мог получить доступ с localhost/page/?m=start&set=update через localhost/page/start/update.html?

Спасибо за ответ!

1 Ответ

1 голос
/ 03 декабря 2010

Вы используете абсолютный путь / в вашей замене.Поэтому при использовании этого правила в файле .htaccess в /page/ запрос /page/start.html будет фактически переписан в /?m=start, а не /page/?m=start.

Вместо этого попробуйте использовать относительный путь:

RewriteRule ^([^/]*)\.html$ ./?m=$1 [L]
...