#php #javascript #.htaccess #mod-rewrite
#php #javascript #.htaccess #mod-переписать
Вопрос:
У меня довольно сложная проблема (для меня), поэтому мне нужно обратиться к вам, ребята 🙂 Всегда был отличным и быстрым источником помощи.
Справочная информация: У меня есть веб-сайт, где домашняя страница представляет собой один большой перетаскиваемый экран (www.example.com /) где все подстраницы имеют тизерный формат. Если вы нажмете на тизер (www.example.com/pages/page1 ) откроется лайтбокс jquery с iframe и представит эту страницу. Это отлично работает.
Проблема: Проблема в том, что, как всегда было с iframes, если кто-то переходит на подстраницу напрямую (www.example.com/pages/page1 ), возможно, через индексированный поиск Google он не увидит iframe и большой перетаскиваемый экран за ним.
Вопрос: мне нужен скрипт, который, прежде чем что-либо произойдет, перенаправляет URL с большим количеством частей, затем root на корневую страницу и добавляет части в виде другого запроса, чтобы я мог считывать их с помощью javascript или чего-то еще и запускать iframelightbox для каждой руки.
Подход: так
www.example.com/pages/page1
необходимо стать
www.example.com?vars=/pages/page1
или что-то подходящее.
я думаю, что это возможно с помощью mod_rewrite в моем htaccess, но я не знаю как.
Я надеюсь, что это каким-то образом понятно 🙂 я старался изо всех сил.
Ответ №1:
RewriteRule ^(. )$ /?vars=$1
Должно сработать.
Не ставьте * вместо , иначе это может закончиться бесконечным циклом.
Комментарии:
1. хорошо, я использовал это, но получил странный результат. мне все еще нужна секунда перезаписи? мой код теперь выглядит следующим образом
RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] RewriteRule ^(. )$ /?vars=$1
2. извините за беспорядочную разметку, я не знаю, как ставить разрывы строк в комментариях.
3. вы не можете сохранить RewriteCond RewriteRule . /index.php [L] поскольку это отрицало бы нужное вам поведение, если только запрашиваемые вами страницы на самом деле не находятся
pages/page1
в вашей файловой системе. Но в противном случае будет сказано: не каталог, в который я переписываю index.php а затем пропустить последний RewriteRule.4. извините, что больше не отслеживаю, ваше Правило вроде как работает, но потом открылась тысяча новых проблем, и я пока снял проблему. в любом случае спасибо за помощь 🙂 я все равно проголосовал за вас, потому что думаю, что это был бы правильный путь.