htaccess重写为名称文件名中带有井号(#)的文件

anotheruser1488182

我要将旧站点移到新网站的/ archive子目录中。该站点是所有HTML都具有很多完全合格的URL,直到未将其保存在存档文件夹中时(例如(http://domain.com/pictures/home.html))。

问题是...这些完全合格的URL中有很多在文件名中带有#,例如http://domain.com/pictures/category#001.html然后将它们链接为as http://domain.com/pictures/category%23001.html将重写应用于这些URL时,服务器找不到文件404错误,路径在%23处被截断(例如,“ / archive / pictures / category在此服务器上未找到”。)

我尝试使用[B]标志,它仍然会显示404错误,但是它给出的文件路径确实存在(例如,在此服务器上找不到'/archive/pictures/category#001.html。)。

如果我使用%23URL(例如http://domain.com/archive/pictures/category%23001.html中的URL直接导航到存档目录中的文件,则一切正常。唯一的问题是通过RewriteRule添加/ archive目录时

规则就是这样:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /archive/$1 [B,L,QSA]

我也尝试过用以下规则替换规则:

RewriteRule (.*) /archive/%{REQUEST_URI} [B,L,QSA]

但这有同样的问题。

感谢您阅读本文!

anotheruser1488182

最后,我可以使服务器转到文件的唯一方法是使用以下代码(添加R = 302标志)重定向到该文件,而不是重写URL。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /archive/$1 [R=302,B,L,QSA]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

htaccess重写只获取文件名

来自分类Dev

对文件名进行升序排序,其中bash中的名称带有破折号

来自分类Dev

文件名中带有空格的grep文件

来自分类Dev

.htaccess,重写与目录相同名称的文件名

来自分类Dev

打开文件名称中带有“ =”的文件

来自分类Dev

查找和xargs正确处理名称中带有空格的文件名

来自分类Dev

.htaccess将文件名重写为页面

来自分类Dev

htaccess将网址重写为https并删除文件名

来自分类Dev

git在文件名之前和之后的井号#的含义?

来自分类Dev

处理文件名中带有通配符的文件

来自分类Dev

文件夹名称中包含点(。)是不好的做法吗?带有多个点的文件名如何?

来自分类Dev

如何使用PowerShell的FtpWebRequest类从FTP服务器下载文件名中包含井号/井号'#'的文件

来自分类Dev

bash,删除文件名中带有字母的文件

来自分类Dev

处理文件名中带有通配符的文件

来自分类Dev

htaccess重写条件/在文件名中查找模式

来自分类Dev

.htaccess URL重写并与现有文件名冲突

来自分类Dev

.htaccess,使用与目录相同的名称重写文件名

来自分类Dev

打开文件名称中带有“ =”的文件

来自分类Dev

htaccess将网址重写为https并删除文件名

来自分类Dev

从所有文件名中删除撇号

来自分类Dev

无法删除带有“?”的文件 在文件名中

来自分类Dev

htaccess文件名带有空格

来自分类Dev

文件名中带有多个`.`的mv文件

来自分类Dev

如何处理文件名中的井号('#')?

来自分类Dev

htaccess重定向到维护页面,并从URL中删除带有扩展名的文件名

来自分类Dev

文件名中带有'(撇号)的文件名

来自分类Dev

将目录中的所有文件作为名为要加载的文件名的变量加载?

来自分类Dev

htaccess 重写 - 无法识别文件名

来自分类Dev

名称中带有 # 的文件名无法下载

Related 相关文章

  1. 1

    htaccess重写只获取文件名

  2. 2

    对文件名进行升序排序,其中bash中的名称带有破折号

  3. 3

    文件名中带有空格的grep文件

  4. 4

    .htaccess,重写与目录相同名称的文件名

  5. 5

    打开文件名称中带有“ =”的文件

  6. 6

    查找和xargs正确处理名称中带有空格的文件名

  7. 7

    .htaccess将文件名重写为页面

  8. 8

    htaccess将网址重写为https并删除文件名

  9. 9

    git在文件名之前和之后的井号#的含义?

  10. 10

    处理文件名中带有通配符的文件

  11. 11

    文件夹名称中包含点(。)是不好的做法吗?带有多个点的文件名如何?

  12. 12

    如何使用PowerShell的FtpWebRequest类从FTP服务器下载文件名中包含井号/井号'#'的文件

  13. 13

    bash,删除文件名中带有字母的文件

  14. 14

    处理文件名中带有通配符的文件

  15. 15

    htaccess重写条件/在文件名中查找模式

  16. 16

    .htaccess URL重写并与现有文件名冲突

  17. 17

    .htaccess,使用与目录相同的名称重写文件名

  18. 18

    打开文件名称中带有“ =”的文件

  19. 19

    htaccess将网址重写为https并删除文件名

  20. 20

    从所有文件名中删除撇号

  21. 21

    无法删除带有“?”的文件 在文件名中

  22. 22

    htaccess文件名带有空格

  23. 23

    文件名中带有多个`.`的mv文件

  24. 24

    如何处理文件名中的井号('#')?

  25. 25

    htaccess重定向到维护页面,并从URL中删除带有扩展名的文件名

  26. 26

    文件名中带有'(撇号)的文件名

  27. 27

    将目录中的所有文件作为名为要加载的文件名的变量加载?

  28. 28

    htaccess 重写 - 无法识别文件名

  29. 29

    名称中带有 # 的文件名无法下载

热门标签

归档