htaccess url重写但执行相同的页面

时间:2014-08-07 06:31:10

标签: php .htaccess

我有一个像

的网址
http://example.com/folder1/folder2/admin_login.php

以上是活动页面。但我想显示下面的网址,而不是上面的网页,但功能相同。

http://example.com/folder1/folder2/login

所以问题是在浏览器中显示url-2但是exeuctes url-1

我在htaccess文件中试过这段代码

RewriteEngine on
RewriteRule ^folder1/folder2/admin_login.php$  http://example.com/folder1/folder2/login [NC,L]

当我将url-1放入浏览器地址栏时。它将转换为url-2但显示Page Not Found

1 个答案:

答案 0 :(得分:2)

你转过身来。您希望第二个网址位于地址栏中。这意味着你必须链接到该网址。当具有该URL的请求进入服务器时,服务器必须在内部将该URL转换为工作URL。除此之外,你不应该将完整的url作为重写目标,因为这会导致规则作为重定向而不是内部重写。

以下规则可以解决问题:

RewriteRule ^folder1/folder2/login/?$ /folder1/folder2/admin_login.php [L]