2014-11-12 2 views
0

Я написал правило перезаписи для моего сайта, как показано ниже;Htaccess case case rewrite condition issue

RewriteEngine on 
DirectoryIndex index.html index.php 
RewriteCond %{REQUEST_FILENAME} !-f [NC] 
RewriteCond %{REQUEST_FILENAME} !-d [NC] 
RewriteRule ^([^.php].+) /details.php?name=$0 

Когда я пытаюсь www.example.com/example и он будет перенаправлен на www.example.com/details.php?name=example. Но я попытался получить доступ к тому же, что и www.example.com/Example, но он терпит неудачу.

Пожалуйста, дайте мне знать, как можно избавиться от этой проблемы?

ответ

1

Вы можете добавить,

CheckSpelling on 

Резюме

CheckSpelling хороший путь к более «терпимой» опыт веб-сайта и излить журналы ошибок, так как он может быть использован для запросов файлов автоматического исправления , При активации эта «проверка орфографии» сравнивает каждое имя документа в запрошенной директории с запрошенным именем документа без учета случая, и позволяет до одной орфографической ошибки (вставка символов, упущение, транспонирование или неправильный символ).

Пример CheckSpelling быть включен: CheckSpelling On.

Reference Liink

0

На самом деле проблема, как представляется, в правиле, использующем некорректное регулярное выражение.

Используйте это правило:

RewriteEngine on 
DirectoryIndex index.html index.php 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/?$ /details.php?name=$1 [L,QSA]