#php #.htaccess
#php #.htaccess
Вопрос:
Я в основном пытаюсь создать крошечный маршрутизатор, который будет принимать любой трафик из «mysite.com/news/article_01 » и перенаправьте это на скрипт, находящийся в корневой папке «html» под названием «news.php «где я бы записал название статьи в качестве переменной и доставлял оттуда контент.
Хитрость в том, что я не хочу перезаписывать текущий index.html досье.
Я нашел этот небольшой фрагмент:
Options FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^.*$ ./index.php
У меня такое чувство, что это перенаправит ВЕСЬ трафик в php-файл, который мне не нужен…
Мысли?
Комментарии:
1. Да, это перенаправило бы ВЕСЬ трафик на
index.php
. Как еще вы хотите маршрутизировать?2. Я хотел бы захватывать только трафик, который имеет «/ news /» в URL
3. Затем используйте
RewriteRule ^news/ index.php [L,NC]
4. Не могли бы вы опубликовать это в качестве ответа?
Ответ №1:
Похоже, для вашего требования вы сможете использовать это более целенаправленное правило:
Options FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^news/ index.php [L,NC]
Это приведет только к маршрутизации /news/
URI index.php
вместо всего.
Комментарии:
1. Это идеально… одна крошечная проблема, похоже, захватывает mysite.com/news но не mysite.com/news/article
2. Если вы получите доступ
$_SERVER['REQUEST_URI']
, он покажет полный URI3. Когда я добавляю дополнительный / в домен, кажется, я получаю ошибку рекурсии… «Запрос превысил лимит 10 внутренних перенаправлений из-за вероятной ошибки конфигурации. Используйте ‘LimitInternalRecursion’, чтобы при необходимости увеличить лимит. Используйте «отладку на уровне журнала», чтобы получить обратную трассировку «. (Ошибка 500)
4. Есть ли у вас какой-либо другой код в вашем .htaccess? И какой точный URL-адрес вы запрашиваете для входа
LimitInternalRecursion
?5. К сожалению, у меня была другая переписка для обработки «красивых имен»… Еще раз спасибо за ваше время!!