php 重定向到html,htaccess的重定向所有,但一个页面的HTML到PHP

我看到4层主要的方法(你选择哪一个更适合你 - 这取决于你的网站的重写规则逻辑):

1.添加全球排除规则,以防止任何进一步重写对文件操作:

RewriteCond %{HTTP_HOST} ^website.com

RewriteRule (.*) http://www.website.com/$1 [R=301,L]

# do not do any rewriting to this file

RewriteRule somefile\.html$ - [L]

RewriteRule ^(.+)\.html$ http://www.website.com/$1.php [R=301,L]

如果你愿意,你可以指定文件的完整路径是更具体的(有效排除仅1特定的文件,如果有超过1个文件,这样的名字,但在不同的文件夹 - 例如URL应该以无引导斜杠开始):

# do not do any rewriting to this file

RewriteRule ^full/path/to/somefile\.html$ - [L]

2.添加全局排除规则,以防止上任何现有的文件或文件夹任何进一步重写操作:

RewriteCond %{HTTP_HOST} ^website.com

RewriteRule (.*) http://www.website.com/$1 [R=301,L]

# do not do anything for already existing files

RewriteCond %{REQUEST_FILENAME} -f [OR]

RewriteCond %{REQUEST_FILENAME} -d

RewriteRule .+ - [L]

RewriteRule ^(.+)\.html$ http://www.website.com/$1.php [R=301,L]

3.添加排除条件,将拒绝重写这个特殊.html文件到.PHP:

RewriteCond %{REQUEST_URI} !somefile\.html$

RewriteRule ^(.+)\.html$ http://www.website.com/$1.php [R=301,L]

如果你愿意,你可以指定文件的完整路径是更具体的(有效排除1只,将只允许重写的.html到.PHP

RewriteCond %{REQUEST_URI} !^/full/url/path/to/somefile\.html$

4.添加排除条件:这样的网址应以斜线开始) - 如果有超过1个文件,这样的名称,但在不同的文件夹中特定文件如果这样的.html文件不存在:

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.+)\.html$ http://www.website.com/$1.php [R=301,L]

高于 ALL规则用于放置在.htaccess在网站根目录。如果放置在其他地方可能需要一些小的调整。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值