вопрос по ссылкам

Добрый день всем.

У меня такой вопрос.

Мне нужно, чтобы ссылки вида

http://mysite.ru/by
http://mysite.ru/ua
http://mysite.ru/ru

вызывались как

index.php?c=by
index.php?c=ua
index.php?c=ru

Как мне это сделать?
Может, кто подскажет, как правильно переписать для этой цели .htaccess?

RewriteBase /
RewriteRule by index.php?c=by [L]
RewriteRule ua index.php?c=ua [L]
RewriteRule ru index.php?c=ru [L]

вот мой htaccess
вставил строки, которые вы рекомендовали:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule by index.php?c=by [L]
RewriteRule ua index.php?c=ua [L]
RewriteRule ru index.php?c=ru [L]
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

выдаёт

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, jestershoot@inbox.ru and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

если вот так

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteRule by index.php?c=by [L]
RewriteRule ua index.php?c=ua [L]
RewriteRule ru index.php?c=ru [L]
</IfModule>

# END WordPress

тогда выдаёт 404 ошибку -> страница не найдена.

А так?

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule by index.php?c=by [L]
RewriteRule ua index.php?c=ua [L]
RewriteRule ru index.php?c=ru [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

тоже страница не найдена 🙁

А просто /index.php?c=by что говорит?

если просто задать в броузере

/index.php?c=by

то всё ок. открывает главную страницу

аналогичная проблема только у меня вп выдает свою встроенный 404

RewriteEngine on
RewriteBase /
RewriteRule files/(.*)$ http://192.168.0.1/files/$1 [L,R=301]

jestershoot, попробуйте поставить флаг [L,R] вместо [L]

jestershoot, попробуйте поставить флаг [L,R] вместо [L]

тогда происходит редирект на

index.php?c=by

а нужно, чтобы ссылка оставалась

/by

нужно похоже как-то делать через WP-Rewrite…

только тоже не понял как…

Если без редиректа, то WP видит в урле "/by" и пытается его обработать. Нужно хакать обработчик, чтобы при наличии параметров не происходила обработка урла. Но это может сказаться на работе других фишек. Мне кажется, я видел "гибридные" урлы, т.е. часть информации в имени "файла", часть – в параметрах.

Anonymous
Отправить
Ответ на: