【发布时间】:2015-11-19 09:46:39
【问题描述】:
我最初是用 PHP 制作我的网站,并使用参数来识别页面/产品。
ex.) http://mysite.com/?pid=my_products&sid=golf_clubs>IN=111111111111
我现在转而使用 RoR,我想设置重定向以清理网址
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)
【问题讨论】:
-
据我了解,您想重定向从旧样式 URL
http://mysite.com/?pid=my_products&sid=golf_clubs&GTIN=111111111111到新样式http://mysite.com/my_products/golf_clubs/111111111111吗?如果是这样 - 那么不幸的是,您的规则正在做其他事情。
标签: ruby-on-rails .htaccess url-rewriting