RewriteRule не будет работать, когда ссылка содержит тире (на loaclhost xampp) - PullRequest
0 голосов
/ 10 февраля 2012
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.html [NC,L]

Это работает для ссылок типа:

<a href="/subpagewithoutdash">working link (will link to subpagewithoutdash.html)</a>

Но это не работает для ссылок с тире:

<a href="/subpage-with-dash">not working link (should link to subpage-with-dash.html)</a>

Есть идеи, как это исправить?Я сижу на компьютере под управлением Windows с установленным Xampp (localhost).

1 Ответ

0 голосов
/ 10 февраля 2012

Я могу сразу подумать о двух ситуациях, из-за которых это правило не будет применено:

  1. subpage-with-dash - это имя каталога в корне сайта.Это отключит RewriteCond и приведет к пропуску правила.
  2. URL содержит точку.Шаблон в RewriteRule - ^([^\.]+)$) - исключает URL-адреса, содержащие любые точки.Итак, если subpage-with-dash на самом деле subpage-with-dash.something, правило не будет применяться.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...