作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想重定向这种形式的 URL:/page.html?variable=value&othervar=true&thirdvar=100
为此:/page/?variable=value&othervar=true&thirdvar=100
所以基本上我只想用正斜杠
替换URL
中间的.html
,但我需要保留它附带的get字符串。这是我尝试过的:
RewriteRule ^page.html(.+)$ /page/$1 [L,R=301]
但这似乎对我不起作用。我最近做了类似的事情,但我不知道我在这里错过了什么。感谢您的任何输入。
最佳答案
通过 httpd.conf
启用 mod_rewrite 和 .htaccess,然后将此代码放入 DOCUMENT_ROOT
目录下的 .htaccess
中:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
# external redirect from /example.html to /example
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+([^.]+)\.html [NC]
RewriteRule ^ /%1/ [R=301,L]
# internal forward from /example/ to //example.html
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{DOCUMENT_ROOT}/$1.html -f
RewriteRule ^(.+?)/?$ /$1.html [L]
关于regex - Htaccess - 用正斜杠替换 .html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15706005/
我是一名优秀的程序员,十分优秀!