我需要做这样的事情:URL http://domain.com/view.php?show=my_article_name应该被重定向到http://domain.com/my_article_name/我该怎么做?提前致谢。使用.htaccess追加查询字符串到URL
回答
你可以试试这个规则:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+view\.php\?show=([^\s]+) [NC]
RewriteRule^/%1? [R=302,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ /view.php?show=$1 [L,QSA,NC]
一旦你验证它是否工作正常,更换R=302
到R=301
。避免在测试mod_rewrite规则时使用R=301
(永久重定向)。
谢谢,它适合我! –
不客气,很高兴它解决了。 – anubhava
非常少见有人想要一个SEO不友好的URL重定向到一个搜索引擎友好的一个,通常是周围的其他方法,所以请确保您想要的:
http://domain.com/view.php?show=xyz => http://domain.com/xyz/
,而不是更常见:
http://domain.com/xyz => http://domain.com/view.php?show=xyz
你会使用这样的事情来捕捉查询字符串,并将其传递给URL(我已经添加到R=301
标志,但如果你不想永久重定向,与R
替换此) :
RewriteBase /
RewriteCond %{QUERY_STRING} ^show=(.*)$ [NC]
RewriteRule ^view.php$ %1/ [NC,R=301,L]
未经测试,因为我目前没有运行Apache,但如果它有帮助但不正确,请给我工作代码来修复我的答案。
不幸的是它不适用于我。我得到了404个。 –
检查access.log和error.log,Apache问题通常很容易调试。 –
@RedOctober - 编辑,告诉我,如果修复它。注意:在测试时,您可能想使用'R'而不是'R = 301',因为有些浏览器长时间缓存301s。 –
- 1. 追加查询字符串到url
- 2. 如何使用htaccess将HTTP_REFERER追加到查询字符串?
- 3. 追加查询字符串中使用htaccess的URL重写不工作
- 4. .htaccess的追加到查询字符串QSA没有重定向
- 5. 微软Azure追加额外的查询字符串查询字符串的URL
- 6. 重写使用URL的.htaccess(添加查询字符串)
- 7. 将查询字符串追加到带有Jquery的URL
- 8. 将空查询字符串参数追加到Rails中的URL
- 9. HTML链接,追加查询字符串到当前URL
- 10. 如何在AngularJS中追加查询字符串到url?
- 11. Zend Framework:将查询字符串追加到当前页面url
- 12. 如何将查询字符串追加到Angular UI中的URL
- 13. 的.htaccess重写URL查询字符串
- 14. URL查询字符串不.htaccess文件
- 15. 使用.htaccess查询字符串URL以清理URL
- 16. .htaccess URL重定向附加查询字符串与目标URL
- 17. 我如何让.htaccess做我想做的事? :)(追加查询字符串URL)
- 18. 如何将查询字符串追加到当前使用jQuery的URL
- 19. 我如何使用jquery将当前查询字符串追加到.ashx url
- 20. 将查询字符串附加到URL
- 21. 将查询字符串附加到URL
- 22. 将查询字符串添加到URL
- 23. 将查询字符串添加到URL
- 24. 帮助,htaccess的查询字符串追加不断
- 25. htaccess的重写规则追加查询字符串参数
- 26. htaccess重定向追加查询字符串
- 27. 将.htaccess转换为web.config时查询字符串追加
- 28. 使用mod_rewrite将查询字符串追加到参数
- 29. 使用jquery将数组追加到查询字符串
- 30. 用随机字符串追加AJAX请求追加到URL
嗨,在这里堆栈溢出和更广泛的互联网上有一百万资源。请始终先搜索。谢谢! –
不幸的是,我发现只有这个版本,但它不适合我:'RewriteRule^blog /([ - a-zA-Z0-9 _] +)/? view.php?&show = $ 1 [L]',即重定向到http://domain.com/blog/my_article_name –