重写包含#和htaccess删除格式的网址

时间:2019-08-21 10:14:58

标签: php html .htaccess

我想使用.htaccess来更改网站某些URL的名称,但是遇到了一些问题。

  1. 我不知道如何更改包含#(重定向到ID)的URL名称。例如,我想将www.website.com/gallery.php#bottom更改为www.website.com/gallery,但是,当我在下面键入代码时,它的工作方式就像是重定向到gallery.php(不是到id =“ bottom”的元素。)
RewriteEngine on 
RewriteRule "^gallery$" gallery.php#bottom [NC,L]
  1. 我遇到的另一个问题是,当我尝试在URL的末尾添加“ /”时,例如,如果我想将www.website.com/gallery.php更改为www.website.com/, gallery /,打开的页面是所需页面,但是所有格式(来自bootstrap和style.css)都丢失了。我尝试使用以下代码:
RewriteEngine on 
RewriteRule "^gallery/$" gallery.php [NC,L]
  1. 与上述类似,如果我尝试将www.website.com/contacts/feedback.php更改为www.website.com/asdf,则会丢失格式。我使用以下代码:
RewriteEngine on 
RewriteRule "^asd$" contacts/feedback.php [NC,L]

我想问一下如何解决这些问题?

1 个答案:

答案 0 :(得分:0)

您的问题#1

/admin

测试完后,将R更改为R = 301。在测试之前,请确保清除缓存。

对于问题2:删除文件扩展名.php

RewriteEngine On
RewriteBase /

RewriteRule ^#/(.*)$ /$1 [L,NC,R]

前三行帮助将带有.php的请求重定向到一个不带文件扩展名的请求。最后两行删除文件扩展名。