Здравейте ,
Искам да направя самото разширение .html да го няма примерно ако е services.html да ми го отваря /services/.
Но явно има грешка в кода ми.
Ето това ползвам като цяло
Искам да направя самото разширение .html да го няма примерно ако е services.html да ми го отваря /services/.
Но явно има грешка в кода ми.
Код:
# Спира MultiViews (за да може /abc да го търси като /abc.ext преди /abc/)
Options +FollowSymLinks -MultiViews
DirectoryIndex index.html
# Спира mod_dir, за да не добавя наклонена черта в края.
DirectorySlash Off
RewriteEngine On
# Ако търси /index или /index.html
RewriteCond %{THE_REQUEST} \ /(.+/)?index(\.html)?(\?.*)?\ [NC]
# го изтрива и оставя само /
RewriteRule ^(.+/)?index(\.html)?$ /%1 [R=301,L]
# Добавя наклонена черта в края на директория, ако няма файл с .html
# Ако търси директория
RewriteCond %{SCRIPT_FILENAME}/ -d
# и няма html файл с такова име
RewriteCond %{SCRIPT_FILENAME}.htm !-f
# и няма наклонена черта, я добавя.
RewriteRule [^/]$ %{REQUEST_URI}/ [R=301,L]
# Изтрива HTML разширения
# Ако това е заявка от браузър (а не от Apache/mod_rewrite)
RewriteCond %{ENV:REDIRECT_STATUS} ^$
# и заявката има HTML разширение, го изтрива.
RewriteRule ^(.+)\.htm$ /$1 [R=301,L]
# Ако в заявката има .html разширение
RewriteCond %{SCRIPT_FILENAME}.htm -f
# и няма наклонена черта, добавя .html
RewriteRule [^/]$ %{REQUEST_URI}.htm [QSA,L]
Ето това ползвам като цяло