2014-01-25 93 views
0

如何从htaccess的URL更改PHP页面的名称,这是我的真实URL如何使用.htaccess更改URL中的PHP页面名称?

site.com/folder/hi.php 

我想在不改变我认为是真实的文件名(HI),所以改名字(HI)至(你好)网址必须是。

site.com/folder/hello.php 

而我该如何在PHP索引页面调用此链接?喜欢单词按页面名称更改

请帮忙。使用

这一点,但没有工作

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteRule ^folder/([0-9]+)/?$ /hi.php?vp=$1 [L,QSA,NC] 
+2

你在重写规则中的正则表达式只查找数字,而不是像az这样的字符,所以它从来没有触发你好,把它改为'[0-9a-z] +' –

+0

这个问题不清楚,例子不符合质疑。有许多关于htaccess的类似问题。记住质量问题=答案质量。这就是为什么你应该改进它。 –

回答

0

我猜你想拥有http://example.com/folder/hello.php/1234在浏览器的地址栏。如果您转到该网址,该页面将在您的服务器上加载/folder/hi.php?vp=1234,但网址不会更改。

然后,您就需要使用规则像.htaccess文件在您的www根以下:

RewriteRule ^folder/hello\.php/([0-9]+)/?$ /folder/hi.php?vp=$1 [L,QSA,NC] 

第一个参数中有一个\..可以匹配任何字符,但我们想匹配一个实际的点。 \.是一个转义点字符,因此只匹配实际点。第二个参数是来自www-root的绝对URL。

确保在安装Apache时启用了mod_rewrite,并允许您使用.htaccess文件。如果hi.php$_GET['vp']或类似的东西检查vp,这应该可以正常工作。如果它使用$_SERVER['REQUEST_URI']检查它,那么它不会(并且它永远不会工作)。