所以我在我的网站里面有这个文件夹..而且我不得不将所有文件类型从html更改为php但是在这个静态html中我使用html作为扩展名链接到这个文件...事情就是我有php现在
是否可以为此文件夹编写htaccess规则,以便.html的任何链接都将成为.php?
www.site.com/folder1/folder2/something.php 在something.php里面我有一个链接:www.site.com/folder1/folder2/somethingelse.html(但现在它实际上是.php)我还有一百个已经改成php的文件
我已经尝试了很多规则,但我真的很棒,我试过的最后一个是
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^website.net
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) http://www.website.net/folder1/folder2/$1 [R=301,L]
RewriteRule ^(.+)\.html$ http://www.website.net/folder1/folder2/$1.php [R=301,L]
但它不起作用! 请帮忙!
更新:MICHAELOKGB答案几乎可以!剩下要做的唯一事情就是将rewritebase设置为实际文件夹:" / folder1 / folder2 /"它的工作就像一个魅力!谢谢你们!
答案 0 :(得分:0)
使用它。我测试了它并且它有效。
RewriteEngine on
RewriteBase /
RewriteCond %{THE_REQUEST} folder1/folder2/(.*)\.php
RewriteRule ^(.*)\.php $1.html [R=301,L]
RewriteCond %{THE_REQUEST} folder1/folder2/(.*)\.html
RewriteRule ^(.*)\.html $1.php [L]
编辑:忘记仅添加特定文件夹。如果您删除 / folder1 / folder2 / ,它将适用于整个网站。
Edit2:所以通过回复,看起来你应该将重写基础从/(整个站点)改为praticular文件夹。它很奇怪,因为我测试它的特定文件夹并且它有效,但无论如何:
RewriteBase /folder1/folder2