Хорошо, поэтому я разрабатываю сайт для своего работодателя в подпапке одного из их других живых сайтов. Структура URL в разработке была http://our-live-site.net/our-dev-site.com/index.php
. Сервер разработки работает под Windows, и новый сервер, на который я только что его перенес, - сервер * nix Apache. Я не совсем уверен, является ли это проблемой из-за отсутствия дополнительного каталога впереди, или это различие в Windows / Linux в том, как они анализируют файл .htaccess. Я склонен верить первому, а не второму после небольшого исследования по этому вопросу. У меня есть только 3 правила в моем файле .htaccess, и я изолировал проблему с двумя последними, переписывает.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(inc/ajax|inc/pages|js|fonts|moving-tips)($|/) - [L]
-> RewriteRule ^(.*).php template.php?page=$1 [NC]
-> RewriteRule ^(.*).php template.php?location=$1 [NC][QSA]
</IfModule>
Что мне нужно сделать, это передать все запросы на http://new-site.com/some-page.php
на http://new-site.com/template.php?page=some-page
. Мне также нужно сохранить опцию захвата другого $_GET
var для наших страниц местоположения (они используют другой шаблон), следовательно, RewriteRule ^(.*).php template.php?location=$1 [NC][QSA]
после первого переписывания. У меня такое ощущение, что я упускаю из виду что-то действительно простое, в основном из-за ... простоты правил. Любая помощь будет принята с благодарностью, я уверен, что это просто вопрос взгляда на это свежим взглядом.