1

如何通过 .htaccess 重写 url,使 url 以:

_slides.html

可以通过

?slides

服务器上的典型 url 如下所示:

website.com/directory1/_slides.html
4

2 回答 2

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]
于 2013-10-03T14:58:09.713 回答
1

您的意思是要将“/ $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]

如果这些指令不起作用,则不可能重写带有查询字符串的动态目录。

于 2013-10-03T19:14:37.087 回答