Как я могу сделать Чистые URL из файлов HTML, используя RewriteRules? - PullRequest
0 голосов
/ 27 января 2012

У меня сейчас есть это:

Options +FollowSymlinks
RewriteEngine On
RewriteBase /folder/

RewriteRule ^(.+) $1.html [NC]

У меня есть html-страницы в этом folder, и я хочу, чтобы файлы обслуживали другие страницы.Например:

/folder/about должен служить /folder/about.html

/folder/test должен служить /folder/test.html

Вопрос в том, что приведенный выше скрипт перезаписи дает мне внутреннюю ошибку 500,Как мне добиться того, что я хочу сделать?

РЕДАКТИРОВАТЬ:

Я вижу эту ошибку в журнале ошибок:

Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.

1 Ответ

0 голосов
/ 27 января 2012

Может быть, есть проблема с косой чертой.Попробуйте это:

Options +FollowSymlinks
RewriteEngine On
RewriteBase /folder/
RewriteCond $1 !\.html$
RewriteRule (.*) $1.html [QSA,NC,L]

Если это не работает, попробуйте:

Options +FollowSymlinks
RewriteEngine On
RewriteBase /folder
RewriteCond $1 !\.html$
RewriteRule (.*) $1.html [QSA,NC,L]

Если вы хотите изменить только буквы и цифры (например, wwW.site.com/abdd0456, но не * 1009)* www.site.com/afdf/sdqfsd) затем выполните что-то вроде:

Options +FollowSymlinks
RewriteEngine On
RewriteBase /folder/
RewriteCond $1 !\.html$
RewriteRule ([a-zA-Z0-9]*) $1.html [QSA,NC,L]

[Редактировать: добавить директиву L]

...