使用.htaccess文件向URL添加字符串

9jyewag0  于 2023-10-23  发布在  其他
关注(0)|答案(2)|浏览(117)

我需要帮助在我的.htaccess文件重定向。我想添加一个字符串到任何在URL的末尾。例如:
当有人访问这个URL时:
www.mysite.com/example
我想把url改写成这样:
www.mysite.com/result.html?search=example
所以我只需要在URL末尾的任何内容之前添加字符串result.html?search=
这个词的例子只是一个占位符,我需要的任何一个字,是放回那里工作。

zc0qhyus

zc0qhyus1#

这应该有帮助。

RewriteEngine on 
RewriteBase /

RewriteRule ^page/([^/]+)/? result.html?search=$1
zed5wv10

zed5wv102#

根据你的补充评论,我假设这是你实际上在寻找的问题:

RewriteEngine on
RewriteRule ^/?(.+)/?$ /result.html?search=$1 [END]

如果你遇到了http状态500(“内部服务器错误”),那么很可能你操作的是一个非常旧的apache http服务器版本。尝试使用[L]标志而不是[END]标志。在这种情况下,你也会在http服务器错误日志文件中找到相应的提示。
上述规则在http服务器主机配置和动态配置文件中也同样有效(.htaccess样式文件)。显然,重写模块必须在http服务器中加载并激活。如果您决定使用动态配置文件,则还需要确保http服务器实际上考虑了此类文件。请阅读文件对此。
还有一个一般性的提示:你应该总是倾向于将这样的规则放在http服务器(虚拟)主机配置中,而不是使用动态配置文件。(.htaccess样式文件)。众所周知,这些文件容易出错,难以调试,而且会降低服务器的速度。只有在您无法控制主机配置的情况下,才支持将其作为最后一个选项(阅读:真正便宜的托管服务提供商)或者你有一个依赖于编写自己的重写规则的应用程序(这是一个明显的安全噩梦)。

相关问题