1

.htaccess 重写模式是否不适用于 url 中的 ~ 符号?

场景是我在服务器的某些文件夹中使用了 .htaccess 重写,它工作正常。但是使用 ~ 符号似乎不起作用,我收到 404 错误消息。IE。~ 符号用于 FTP 帐户的用户名,指向服务器。

实际的 .htaccess 代码:

RewriteEngine On

RewriteRule ^pages/(.*)$ pages.php?slug=$1
RewriteRule ^pages/(.*).html/$ pages.php?slug=$1

这适用于网址

www.abcdxyz.com/something/pages/index.html

但问题是另一种方式

www.server.com/~ftpaccount/pages/index.html

这里的帐户没有指向任何域名,这就是为什么我使用 ~ 符号从服务器查看文件的原因。我使用的是 linux 服务器。

PS如果我不清楚这个问题,请原谅我。

4

1 回答 1

0

尝试在 RewriteRule 示例末尾使用“B”标志,您的 #1 规则变为

RewriteRule ^pages/(.*)$ pages.php?slug=$1 [B]

它的作用是:在应用转换之前转义非字母数字字符

于 2012-08-14T15:45:08.877 回答