重写网站链接(锚点、扩展)



我的网站上有几个页面,主页包含一些锚链接,如下所示:

  • mywebsite.com/homepage.php#six

    其他页面只是像这样的PHP扩展:

  • mywebsite.com/otherpage.php

如果我想删除主页上斜杠之后的所有内容和其他页面上的PHP扩展,我该怎么办?

RewriteEngine On
RewriteCond %{THE_REQUEST} ^GET /homepage.php(S*) [NC]
RewriteRule ^ /%1 [R=301,L]
RewriteCond %{THE_REQUEST} ^GET /(.+).php(S*) [NC]
RewriteRule ^ /%1%2 [R=301,L]
RewriteRule ^/?$ /homepage.php [QSA,L]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+)$ /$1.php [QSA,L]

您可以在htaccess 中使用它

RewriteEngine on
RewriteRule ^$ /homepage.php#six [NE,L]
#Remove php
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^/]+)/?$ /$1.php [NC,L]

这将重写

http://example.com/

http://example.com/homepage.php#six

第二条规则从文件中删除php扩展名。