如何使用.htaccess更改URL中的PHP页面名称?

时间:2014-01-25 08:19:15

标签: php .htaccess

如何从htaccess更改网址中的php页面名称这是我的真实网址

site.com/folder/hi.php

我想将名称(hi)更改为(hello)而不更改我的真实文件名(hi)所以url必须是。

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]

1 个答案:

答案 0 :(得分:0)

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

然后,您需要在www-root的.htaccess文件中使用以下规则:

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

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

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