mode_rewrite: example.com/münster -> example.com/index.html?city=münster - PullRequest
1 голос
/ 03 февраля 2010

Как описано в заголовке, я хотел бы иметь чистые URL с mod_rewrite, к сожалению, мне не удалось написать подходящее регулярное выражение, чтобы выполнить работу, с которой я экспериментирую:

1.try:

RewriteRule ^([a-z]*)$ /index.html?city=$1 [NC,L]

2.Try:

RewriteRule ^(.*)$ /index.html?city=$1 [NC,L]

Но никто не работает должным образом, тем более, когда дело доходит до "üöä"

1 Ответ

2 голосов
/ 03 февраля 2010

Второй вариант будет лучше, однако, он будет зацикливаться, так как перенаправление на /index.html?city=$1 также будет обрабатываться, и, когда оно соответствует RewriteRule, оно также будет перенаправлено. Что-то вроде:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.html?city=$1 [NC,L]

будет работать лучше, поскольку гарантирует, что перенаправляет только запросы, которые не относятся к существующим файлам или каталогам. Я попробовал пример "münster" с вышеупомянутым, и он перенаправился как /index.html?city=m%c3%bcnster, что может или не может быть тем, что вам требуется.

...