Я сделал свой сайт на PHP изначально и использовал параметры для идентификации страницы / продукта.
ex.) http://mysite.com/?pid=my_products&sid=golf_clubs>IN=111111111111
Теперь я перешел к использованию RoR и хотел бы настроить перенаправления для очистки URL-адресов
http://mysite.com/my_products/golf_clubs/111111111111
Я посмотрел учебники и пришел к этому:
RewriteRule ^([^/]+)/([^/]+)/([^/]+)$ ?pid=$1&sid=$2>IN=$3 [NC]
Я проверил URL, и он вообще не перенаправляется. Я попытался поместить это в файл .htaccess для отладки и изменил папку журнала на 775, но я получаю ошибку 500:
RewriteLog "/home/myaccount/rails_apps/myapp/log/rewrite.log"
RewriteLogLevel 3
Что касается операторов переписывания в .htaccess, это то, что у меня есть:
RewriteEngine On
RewriteLog "/home/myaccount/rails_apps/myapp/log/rewrite.log"
RewriteLogLevel 3
RewriteBase /
RewriteCond %{REQUEST_URI} ^/downloads.*
RewriteRule .* - [L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)$ pid=$1&sid=$2>IN=$3 [NC]
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
ErrorDocument 500 "<h2>Application error</h2>Rails application failed to start properly"
* Я нахожусь в плане общего хостинга с Bluehost (боже мой, я бы хотел, чтобы они скоро обновились до Rails 3)