На главной странице index.php у меня есть два href (например, меню) для objective.php и news.php
И для целей, и для новостей я отправил такие переменные, как:
<a href="objectives.php?menu=corporate-objectives">
<a href="news.php?article=meetings">
Идея состоит в том, чтобы загружать контент для каждой страницы отдельно и менять URL-адреса на символические ссылки, например:
/MyTest_proj/corporate-objectives
/MyTest_proj/meetings
Я пробовал разными способами переписывать правила в htaccess, особенно для перезаписи для обеих страниц, но большую часть времени работает только для первой перезаписи, например:
RewriteRule ^([-a-zA-Z0-9]+)?$ objectives.php?menu=$1
RewriteRule ^([-a-zA-Z0-9]+)?$ news.php?article=$1
которые, очевидно, обе страницы соответствуют одним и тем же паттернам, и встречи были загружены в objects.php, иначе (или в другом случае) я получил ошибку 401 ... Вопрос в том, как я должен поставить и написать эти перезаписи и условия, если есть любой работать для обеих страниц ?
Проблема в том, что ваше RewriteRule соответствует любому URL-адресу, содержащему буквенно-цифровые строки, что соответствует как «корпоративным целям», так и «новостям». Поскольку mod_rewrite применяет первое правило сопоставления, оно никогда не применяется ко второму.
Другими словами, вам нужно сделать свои RewriteRules более конкретными. Вот пример, с которого вы должны начать:
RewriteRule ^([-a-zA-Z0-9]*objectives)?$ objectives.php?menu=$1
RewriteRule ^([-a-zA-Z0-9]+)?$ news.php?article=$1
Это должно означать, что любой URL-адрес, содержащий слово «цели», загрузит objective.php, а все остальное загрузит news.php.