Переписать правило для переменных GET .htaccess

0

Ну, у меня проблемы с созданием .htaccess, в любом случае у меня есть категории в моем меню, например test1, test2, test3 которые являются именами папок, и то, что я пытаюсь сделать, это указать второй параметр URL-адреса на index.php, например http://myapp/test1 Я хочу иметь возможность с index.php иметь $_GET['cat'] = test1 и т.д.
Вот что я пробовал до сих пор и не работал:

Options +FollowSymlinks
RewriteEngine on

RewriteRule ^(.*)/$ index.php?cat=$1 [NC,L]

Любая помощь в этом? Очень признателен.

Теги:
.htaccess
mod-rewrite

1 ответ

0

Попробуйте удалить трейлер / символ из правила перезаписи. ^(.*)/$ Соответствует любому URL, который заканчивается в / как http://myapp/test/. Вероятно, вы ищете ^(.*)$ Или разделите любую ведущую косую черту ^/(.*)$. Обратите внимание, что если index.php доступен напрямую через f.ex. http://myapp/index.php это также будет соответствовать и переписать на http://myapp/index.php?cat=index.php и любые изображения также не будут напрямую доступны. Таким образом, вы можете добавить RewriteCond который сначала проверяет, является ли запрошенный URL существующим файлом с RewriteCond %{REQUEST_FILENAME} !-f прежде чем RedirectRule переписывает URL.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню