我正在使用下面的代码来删除.html扩展表单URL,但它不工作。任何一个可以帮助,我必须把.htaccess文件
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.html -f RewriteRule ^([^/]+)/$ $1.html
omqzjyyz1#
我想分享一个简单易懂的方法,使用**.htaccess文件从URL中删除.html扩展名。我在Windows 10上使用XAMPP**。对我来说,它运行得很好。如果你想要同样的结果,只需按照下面给出的步骤操作...要删除**.html扩展名,例如,如果要将mywebsite.com/contact.html更改为mywebsite.com/contact,则必须在.htaccess文件中添加以下代码:首先,创建一个名为.htaccess的新文件,并将其放置在root-directory文件所在的位置。现在,使用您选择的任何编辑器打开此(.htaccess**)文件,然后在文件中写入/复制/粘贴给定的代码并保存...
.htaccess
.html
mywebsite.com/contact.html
mywebsite.com/contact
root-directory
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]
现在,你都准备好了。我希望这能解决大家的问题。祝你有个愉快的一天:)
3vpjnl9f2#
可以在DOCUMENT_ROOT/.htaccess文件中使用以下代码:
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]
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]
chhqkbe14#
使用此
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.html -f RewriteRule ^(.*)$ $1.html [NC,L]
4条答案
按热度按时间omqzjyyz1#
我想分享一个简单易懂的方法,使用**
.htaccess
文件从URL中删除.html
扩展名。我在Windows 10上使用XAMPP**。对我来说,它运行得很好。如果你想要同样的结果,只需按照下面给出的步骤操作...要删除**
.html
扩展名,例如,如果要将mywebsite.com/contact.html
更改为mywebsite.com/contact
,则必须在.htaccess
文件中添加以下代码:首先,创建一个名为
.htaccess
的新文件,并将其放置在root-directory
文件所在的位置。现在,使用您选择的任何编辑器打开此(.htaccess**)文件,然后在文件中写入/复制/粘贴给定的代码并保存...现在,如果您(任何用户)将在浏览器中访问**
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
**文件中添加更多规则。因此,请再次打开它,用下面给出的新代码替换旧代码,并保存您的文件...(您可以忽略此步骤,这是您的责任...)现在,你都准备好了。我希望这能解决大家的问题。
祝你有个愉快的一天:)
3vpjnl9f2#
可以在
DOCUMENT_ROOT/.htaccess
文件中使用以下代码:byqmnocz3#
最后我得到了正确的.HTACCESS代码来删除.php扩展名...:)
chhqkbe14#
使用此