#php #regex #apache #.htaccess #mod-rewrite
#php #регулярное выражение #apache #.htaccess #мод-перезапись
Вопрос:
Получение значений в php при использовании .htaccess
правила перезаписи
Я использую следующее правило
RewriteEngine On
RewriteRule ^([^/]*)$ page.php?title=$1 [L]
Это означает, что оно создаст страницу, подобную view
(т.е.)
www.mywebsite.com/contact
www.mywebsite.com/blog
Но как я могу получить значения, переданные в URL, и отобразить их внутри страницы, используя метод Get echo "Page content is ".$_GET['title'];
Пока я передаю значение в URL, например www.mywebsite.com/view,
Это просто отображение содержимого страницы page.php
Какую ошибку я делаю и как я могу это исправить?
Ответ №1:
Некоторые URL-адреса, которые не нужно переписывать, переписываются. Вероятно, вы хотите изменить свое правило следующим образом:
RewriteEngine On
RewriteRule ^([^/.] )/?$ page.php?title=$1 [L]
[^/.]
Гарантирует, что в пути нет точки/?
Допускает необязательную косую черту в конце
Комментарии:
1. Если у меня уже есть папка с именем blog и если я передаю значение www.mywebsite.com/blog это повлияет правильно, как я могу избежать этого? (пока я переписываю второй%{blog} ! -d ) все равно это не сработало
2.
if i pass the value www.mywebsite.com/blog it will affect right, How can i escape from this ?
Не понимаю, что вы здесь имеете в виду, не могли бы вы, пожалуйста, рассказать подробнее?3. Если у меня есть папка с именем blog , она не работает, если я использую www.mywebsite.com/blog