正则表达式在.htaccess中使用哈希标记在URL中的错误

问题描述:

我在做这个正则表达式的错误。正则表达式在.htaccess中使用哈希标记在URL中的错误

My requested url 
http://domain.com/local/v11/full/#Q73Ps/ 

我在.htaccess

Options +FollowSymlinks 
RewriteEngine On 

RewriteRule ^local/v11/full/#([a-zA-Z0-9]+)/ local/v11/server/full.php?token=$1 

上面有哪些规则总是给我404错误。

添加日志

related apache error 
[Thu Feb 09 14:04:21 2012] [error] [client 127.0.0.1] File does not exist: /path/to/folder/local/v11/full 

related access logs 
[09/Feb/2012:14:16:54 +0500] "GET /local/v11/full/ HTTP/1.1" 404 340 

no re-write log 
+0

你检查了你的重写日志,看看它试图发送给你吗? – 2012-02-09 09:07:08

+0

刚刚添加日志 – Neutralizer 2012-02-09 09:19:07

+0

那是确切的错误吗?文件不存在:/ path/to /文件夹 – 2012-02-09 09:21:41

当您尝试访问:http://domain.com/local/v11/full/#Q73Ps/浏览器发送请求:http://domain.com/local/v11/full/,而不会考虑#Q73Ps/作为URL的一部分。如果你想让你的重写规则在%23的URL中替换#,它就可以工作。

+0

啊!那是事情! – Neutralizer 2012-02-09 09:23:58

+0

我可以使用哪些我不需要编码的字符? – Neutralizer 2012-02-09 09:25:24

+0

@UmairAshraf你可以使用'_'或'-'。 – ThinkingMonkey 2012-02-09 09:28:05