使用.htaccess删除.html URL扩展名不起作用

velaa5lx  于 2022-11-16  发布在  其他
关注(0)|答案(4)|浏览(225)

我正在使用下面的代码来删除.html扩展表单URL,但它不工作。
任何一个可以帮助,我必须把.htaccess文件

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^([^/]+)/$ $1.html
omqzjyyz

omqzjyyz1#

我想分享一个简单易懂的方法,使用**.htaccess文件从URL中删除.html扩展名。我在Windows 10上使用XAMPP**。对我来说,它运行得很好。如果你想要同样的结果,只需按照下面给出的步骤操作...
要删除**.html扩展名,例如,如果要将mywebsite.com/contact.html更改为mywebsite.com/contact,则必须在.htaccess文件中添加以下代码:
首先,创建一个名为
.htaccess的新文件,并将其放置在root-directory文件所在的位置。现在,使用您选择的任何编辑器打开此(.htaccess**)文件,然后在文件中写入/复制/粘贴给定的代码并保存...

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]+)$ $1.html [NC,L]

现在,如果您(任何用户)将在浏览器中访问**mywebsite.com/contact,则将显示mywebsite.com/contact.html页面的内容。
因此,如果任何用户以
mywebsite.com/contact.html的身份访问URL,该怎么办?这将把用户重定向到此mywebsite.com/contact.html页,而不是此mywebsite.com/contact页,这意味着用户仍然可以访问mywebsite.com/contact.html页。不要担心。如果您想避免这种情况,下一步就是...
为了避免上述问题并将用户重定向到新创建的URL,您需要在您的
.htaccess**文件中添加更多规则。因此,请再次打开它,用下面给出的新代码替换旧代码,并保存您的文件...(您可以忽略此步骤,这是您的责任...)

RewriteEngine On
RewriteCond %{THE_REQUEST} /([^.]+)\.html [NC]
RewriteRule ^ /%1 [NC,L,R]

RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^ %{REQUEST_URI}.html [NC,L]

现在,你都准备好了。我希望这能解决大家的问题。
祝你有个愉快的一天:)

3vpjnl9f

3vpjnl9f2#

可以在DOCUMENT_ROOT/.htaccess文件中使用以下代码:

RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} \s/+(.+?)\.html[\s?] [NC]
RewriteRule ^ /%1 [R,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.+?)/?$ $1.html [L]
byqmnocz

byqmnocz3#

最后我得到了正确的.HTACCESS代码来删除.php扩展名...:)

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

## hide .php extension
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L,NC]

## To internally redirect /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [L]
chhqkbe1

chhqkbe14#

使用此

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.*)$ $1.html [NC,L]

相关问题