我有这个网址:
localhost:1001/project/index.html
如果我写这个URL:
localhost:1001/project/index.html.twig
我希望将其屏蔽为第一个(localhost:1001/project.index.html
),但是处理的URL必须是第二个(不知道是否可能)。
我已经尝试了所有这些方法,但是我认为我在项目文件夹根目录下的.htaccess
上的所有操作都是错误的,因为我没有想要的任何方法:
a)
RedirectMatch 302 /project/index.html.twig /project/index.html
b)
RedirectMatch 301 /project/index.html.twig /project/index.html
c)
RewriteCond %{HTTP_HOST} ^/project/index.html.twig$ [NC]
RewriteRule /project/index.html [R=301,L]
评论
我要获取的过程
localhost:1001/project/index.html.twig
.htaccess
将浏览器中的URL转换为localhost:1001/project/index.html
并在浏览器中看到该URL localhost:1001/project/index.html.twig
答案 0 :(得分:0)
如果要进行外部重定向,这可能是您要寻找的:
RewriteEngine on
RewriteRule ^/?project/index\.html$ /project/index.html.trig [R=301]
RewriteRule ^/?project/index\.html\.twig$ /project/index.html [END]
如果要进行内部重写,请使用该变体:
RewriteEngine on
RewriteRule ^/?project/index\.html\.twig$ /project/index.html [R=301]
RewriteRule ^/?project/index\.html$ /project/index.html.trig [END]
这些规则应该在http服务器主机配置或动态配置文件(“ .htaccess”样式文件)中同样起作用。如果可以访问,您绝对应该首选第一个选项。如果需要使用动态配置文件,请确保完全启用了它的解释功能,并且该文件位于主机的DOCUMENT_ROOT
文件夹中。
如果使用该规则收到服务器内部错误(http状态500),则可能是您操作了旧版本的apache http服务器。在这种情况下,您将在http服务器错误日志文件中的未知[END]
标志上找到明确的提示。在这种情况下,请尝试使用较旧的[L]
标志,尽管它取决于您的设置,但在这里它可能会起作用。