Я просто хочу получить быстрое перенаправление htaccess. то есть:
domain.com/subfolderGreen -> domain.com/index.php?folder=subfolderGreen
(обратите внимание, что подпапка Green фактически существует)
Я пытался, но не мог получить нужное регулярное выражение.
Благодарю. а.
ДОБАВЛЕНО:
Извините, я хочу, чтобы это работало для любой вложенной папки, а не только «subfolderGreen», которую я использую
RewriteRule ^ / ([^ /] +) /? $ /index.php?folder=$1 [L]
но он не работает. любые подсказки?
Я бы подумал, что ваш пример вызовет бесконечный цикл, поскольку /index.php соответствует тому, что вы делаете. Попробуй это:
RewriteRule ^([A-Za-z0-9]+)/?$ /index.php?folder=$1 [L]
Если вы хотите, чтобы он работал для всех существующих каталогов, это, вероятно, будет работать.
RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^(.+)/?$ /index.php?folder=$1 [L]
RewriteRule ([^/]+)$ index.php?folder=$1
Я думаю, что это сделает трюк.
RewriteRule имеет некоторые запутывающие проблемы при использовании в .htaccess, который требует добавления RewriteBase.
Какие ошибки / проблемы вы видите? Если вы хотите быть уверенным в том, как перенаправлять добавление, то [R] часто может помочь с отладкой.
Наконец … действительно ли подпапка Green существует или нет? Если он существует, это может вызвать некоторые проблемы.
Я считаю, что это:
RedirectMatch 301 domain.com/(.*) domain.com/index.php?folder=$1
RewriteEngine on RewriteCond %{THE_REQUEST} ^[AZ]+\ /(([^/\ ]+/)*)/+([^\ ]*) RewriteRule ^ /%1%3 [L,R=301] RewriteRule ^([^/]+)/?$ index.php?folder=$1 [L]
Строка № 2 будет обрабатывать случай, если кто-то перейдет на сайт website.com/mypage/////, поэтому он по умолчанию ссылается на website.com/mypage/ (я думаю)