SEO-дружественные URL-адреса с .htaccess

Может ли кто-нибудь помочь мне с переписыванием URL?

У меня есть (например) эти страницы:

www.mydomain.com/test/gallery.asp?id=2
www.mydomain.com/test/gallery.asp?id=3

и хотите, чтобы они запрашивались как:

www.mydomain.com/photos/people
www.mydomain.com/photos/wildlife

Я использую IIS, и сначала мой хостинг-провайдер использовал ISAPI_Rewrite с файлом httpd.ini, теперь они перешли на Helicon Ape с файлом .htaccess. См.: http://www.isapirewrite.com/ и http://www.helicontech.com/ape/

Я попробовал способ ISAPI_Rewrite:

RewriteRule /photos/people /test/gallery.asp?id=2 [I,L]
RewriteRule /photos/wildlife /test/gallery.asp?id=3 [I,L]

Но это не работает.

Предложения?


person waanders    schedule 28.12.2010    source источник
comment
У вас есть что-нибудь в файле httpd.parse.errors?   -  person jyoseph    schedule 28.12.2010
comment
Я не вижу файл ошибок синтаксического анализа. Я использую Helicon Ape с mod_rewrite и IIS, без Apache. Где должен появиться файл ошибок синтаксического анализа?   -  person waanders    schedule 30.12.2010


Ответы (1)


попробуй это

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^photos/(.*)$ test/gallery.asp?id=$1 [L,QSA]

первая строка является тестовой, если это не файл

вторая строка является тестовой, если это не каталог

третий будет перенаправлять photos/wildlife?a=true на test/gallery.asp?id=wildlife&a=true

если вы не хотите перенаправлять с помощью a=true, просто раздайте QSA ;)

person Jan Šafránek    schedule 28.12.2010
comment
Неа. Не работает для меня. Я пробовал и другие примеры документации. Нет результатов. Могу ли я проверить, правильно ли работает функция перезаписи? - person waanders; 30.12.2010
comment
Теперь это работает. Провайдер случайно отключил... $@!*X#!@# - person waanders; 06.01.2011