我有一个站点,需要 htaccess 代码来在地址栏中进行此更改,而无需在服务器文件夹中进行任何物理更改
example.com/data/65767.html 为 example.com/65767
example.com/data/56-45.html 为 example.com/56-45
问候
我有一个站点,需要 htaccess 代码来在地址栏中进行此更改,而无需在服务器文件夹中进行任何物理更改
example.com/data/65767.html 为 example.com/65767
example.com/data/56-45.html 为 example.com/56-45
问候
效率极低,您需要确保将链接更改为指向没有的链接.html
,但是...
RewriteEngine On
# externally redirect so that the browser shows the non-.html URL
RewriteCond %{THE_REQUEST} ^(GET|POST|HEAD)\ /data/([0-9-]+)\.html
RewriteRule ^ /%2 [L,R=301]
# internally rewrite the non-.html URI back to the .html URI
RewriteCond %{DOCUMENT_ROOT}/data%{REQUEST_URI}.html -f
RewriteRule ^/?([0-9-]+)$ /data/$1.html [L]
这适用于/data/<any number of digits or "-">
URI。如果您希望它与任何东西一起使用,请将其替换[0-9-]
为.
编辑:
我们也可以重定向
example.com/65767.html
到是example.com/65767
和内容来自example.com/data/65767.html
是的,只需将第一条规则更改为:
RewriteCond %{THE_REQUEST} ^(GET|POST|HEAD)\ /(data/)?([0-9-]+)\.html
RewriteRule ^ /%3 [L,R=301]