如何通过.htaccess重写网址,以便网址以:
结尾_slides.html
可通过
访问?slides
典型的网址在服务器上显示如下:
website.com/directory1/_slides.html
答案 0 :(得分:1)
尝试将此添加到文档根目录中的htaccess文件:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^([^=]+)$
RewriteRule ^([^/])*/$ /$1/_%1.html [L]
这应该接受http://website.com/directory1/?slides
之类的请求,并在/directory1/_slides.html
上提供内容。
要重定向直接访问_
文件,您还可以添加:
RewriteCond %{THE_REQUEST} \ /([^/]*)/_([^.\ \?]+)\.html(\ |$)
RewriteRule ^ /%1/?%2 [L,R=301]
答案 1 :(得分:1)
您是说要将“/ $any
/ _ slides.html”重写为“/ $any
/?幻灯片”吗?那么请试试这个:
RewriteEngine on
RewriteRule ^/?([^/]+)/_slides.html$ /$1/?slides [L]
还是相反?像这样(因为我在你的问题中感到困惑):
RewriteEngine on
RewriteRule ^/?([^/]+)/\?slides$ /$1/_slides.html [L]
最后一次尝试
现在我知道您要查看带有“/ $any
/ slides_html”内容的“/ $any
/?幻灯片” ,现在尝试确保您的 .htaccess 文件位于域的根目录中并尝试以下操作:
RewriteEngine on
RewriteCond %{QUERY_STRING} ^slides$
RewriteRule ^/?([^/]+)/$ /$1/_slides.html [L]
如果这些指令不起作用,则不可能重写带有查询字符串的动态目录。