Начните с объяснения того, что я пытаюсь сделать: у меня есть разные страницы на моем сайте. Некоторые страницы имеют одинаковые шаблоны, поэтому я создаю одну страницу с параметрами для адаптации своей страницы: параметры называются pageview, и lang URL выглядит следующим образом:
http://mywebsite/home/en <- <a href="http://mywebsite/index.php?pageview=home&lang=en" rel="nofollow noreferrer"> http://mywebsite/index.php?pageview=home&lang=en
http://mywebsite/page2/fr <- <a href="http://mywebsite/index.php?pageview=page2&lang=fr" rel="nofollow noreferrer">http://mywebsite/index.php?pageview=page2&lang=fr
например. Для этого я использую известный файл .htaccess и его модуль rewrite_module для Apache.
У меня также есть страница контактов с другим шаблоном. Это URL выглядит следующим образом, и здесь есть только один параметр:
http://mywebsite/contact/fr <- <a href="http://mywebsite/contact.php?lang=fr" rel="nofollow noreferrer">http://mywebsite/contact.php?lang=fr
http://mywebsite/contact/en <- <a href="http://mywebsite/contact.php?lang=en" rel="nofollow noreferrer">http://mywebsite/contact.php?lang=en
Вот мой код .htaccess:
RewriteEngine On
RewriteRule ^contact/([a-zA-Z0-9]+)/?$ contact.php?lang=$1
RewriteRule ^([a-zA-Z0-9]+)$ index.php?pageview=$1 [QSA]
RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/?$ index.php?pageview=$1&lang=$2 [QSA]
Проблема в том, что .htaccess
файл работает для индекса. php, но не для contact.php
Я могу получить полный доступ к contact.php
, но параметр не обнаружен
Спасибо за вашу помощь ?? !
РЕДАКТИРОВАТЬ
Если я удаляю индексные части, чтобы остаться только переписать контакт, то проблема в том, чтобы остаться там.
contact.php
и index.php
являются в папке root