Как добавить знак вопроса в .htaccess? - PullRequest
0 голосов
/ 18 марта 2019

Хотелось бы ссылку

site.com/auth.php сделать доступным как site.com/?auth=

Как мне поступить с этим через .htacesss?

1 Ответ

1 голос
/ 18 марта 2019

Хотя это довольно странный запрос, но вот что вы на самом деле просите:

RewriteEngine on
RewriteCond %{QUERY_STRING} ^auth=$
RewriteRule ^/?$ /auth.php [END,QSD]

Это будет вариант, который является более общим по отношению к фактической строке запроса:

RewriteEngine on
RewriteCond %{QUERY_STRING} (?:^|&)auth=[^&]*(&|$)
RewriteRule ^/?$ /auth.php [END,QSD]

Я сомневаюсь, однако, что это действительно то, что вы хотите ... Может быть, вам следует приложить немного усилий, чтобы объяснить, какова ваша цель здесь?

В случае, если вы получили внутреннюю ошибку сервера (http status 500), используя приведенное выше правило, есть вероятность, что вы используете очень старую версию apache http server.В этом случае вы увидите определенный намек на неподдерживаемый флаг [END] в файле журнала ошибок http-серверов.Вы можете попытаться обновить или использовать более старый флаг [L], он, вероятно, будет работать так же в этой ситуации, хотя это немного зависит от ваших настроек.

Это правило также будет работать в конфигурации хоста http-серверов или внутри файла динамической конфигурации (файл ".htaccess").Очевидно, что модуль перезаписи должен быть загружен внутри http-сервера и включен на хосте http.Если вы используете динамический файл конфигурации, вам нужно позаботиться о том, чтобы его интерпретация вообще была включена в конфигурации хоста и находилась в папке DOCUMENT_ROOT хоста.

И общее замечание: вы всегда должны предпочитать размещать такие правила в конфигурации хоста http-серверов вместо использования файлов динамической конфигурации (".htaccess").Эти динамические конфигурационные файлы добавляют сложность, часто являются причиной неожиданного поведения, их трудно отладить, и они действительно замедляют работу http-сервера.Они предоставляются только в качестве последнего варианта для ситуаций, когда у вас нет доступа к реальной конфигурации хоста http-серверов (читай: действительно дешевые поставщики услуг) или для приложений, настаивающих на написании своих собственных правил (что является очевидным кошмаром безопасности).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...