2011-08-03 43 views
1

我试图写一个简单的.htaccess规则改变的的.htaccess不工作

https://webxxx.example.net/~test/id/123 

https://webxxx.example.net/~test/show.php?id=123 

https://webxxx.example.net/~test/id/123 

现在被重定向到我的404找不到网页。

我的.htaccess:

RewriteEngine on 
RewriteRule ^\/?~test\/id\/(\w+)$ /~test/show.php?hash=$1 

为什么不这项工作?

+1

'hash'应该是'id'吗? –

+0

'〜test'是什么?它是否引用'test'用户帐户的'public_html'? – zerkms

+0

@丹,@ zerkms:是的! –

回答

3

解决办法:

不需要匹配的public_html文件夹的正则表达式的参考,只有在更换

RewriteEngine onRewriteRule ^id\/(\w+)$ /~test/show.php?hash=$1 

感谢所有:)

1

哪里放置了.htaccess?它是在主根之下吗?或者它在子文件夹下(子域)...尝试更改.htaccess的位置,并确保它位于特定的子域区域下。

+0

此网址上的'domain.net'是myhosting.com的参考。 .htaccess位于public_html文件夹中 –

0

我想这就是你想要:

RewriteEngine on  
RewriteRule ^id\/([0-9]*)$ /~test/show.php?id=$1 

这将只接受编号后的数字。