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

时间:2017-09-15 19:58:54

标签: .htaccess

您好我需要帮助重定向我的.htaccess文件。我想在网址的末尾添加一个字符串。例如:

当有人访问此网址时:

www.mysite.com/example

我想重写网址来说明这一点:

www.mysite.com/result.html?search=example

所以我只需要在网址末尾添加字符串result.html?search=

单词示例只是一个占位符,我需要将任何单词放回去处理。

谢谢!

2 个答案:

答案 0 :(得分:1)

这应该会有所帮助。

RewriteEngine on 
RewriteBase /

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

答案 1 :(得分:1)

根据您的其他评论,我认为这是您实际需要的问题:

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

如果您遇到具有该规则的http状态500("内部服务器错误"),那么您可能会运行非常旧版本的apache http服务器。尝试使用[L]标志,而不是[END]标志。在这种情况下,您将在http服务器错误日志文件中找到相应的提示。

上述规则同样适用于http服务器主机配置和动态配置文件(.htaccess样式文件)。显然,必须在http服务器中加载和激活重写模块。如果您决定使用动态配置文件,则还需要确保http服务器实际考虑此类文件。请阅读文档中的AllowOverride指令。

一般提示:您应该始终更喜欢将此类规则放在http服务器(虚拟)主机配置中,而不是使用动态配置文件(.htaccess样式文件)。这些文件非常容易出错,难以调试,它们确实会降低服务器的速度。只有在您无法控制主机配置(读取:非常便宜的托管服务提供商)或者您的应用程序依赖于编写自己的重写规则(这是一个明显的安全噩梦)的情况下,它们才被支持作为最后一个选项。 )。