如何通过 .htaccess 重写 url,使 url 以:
_slides.html
可以通过
?slides
服务器上的典型 url 如下所示:
website.com/directory1/_slides.html
如何通过 .htaccess 重写 url,使 url 以:
_slides.html
可以通过
?slides
服务器上的典型 url 如下所示:
website.com/directory1/_slides.html
尝试将此添加到文档根目录中的 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]
您的意思是要将“/ $any
/_slides.html”重写为“/ $any
/?slides”吗?那么请试试这个:
RewriteEngine on
RewriteRule ^/?([^/]+)/_slides.html$ /$1/?slides [L]
还是相反?像这样(因为我对你的问题感到困惑):
RewriteEngine on
RewriteRule ^/?([^/]+)/\?slides$ /$1/_slides.html [L]
最后一次尝试
现在我知道您想查看带有"/ /slides_html"内容的" / $any
/?slides " ,现在尝试确保您的.htaccess文件位于域的根目录中并尝试以下操作:$any
RewriteEngine on
RewriteCond %{QUERY_STRING} ^slides$
RewriteRule ^/?([^/]+)/$ /$1/_slides.html [L]
如果这些指令不起作用,则不可能重写带有查询字符串的动态目录。