我想知道是否有可能使用 .htaccess 重写一个文件夹,名称。我的意思是这样的。

可以说我有一个网址像:

www.site.com/folder1/page.php

现在我想重写url以(例如)

www.site.com/apple/page.php

该夹1个现有的文件夹,在我的网络空间.

重要的是:"苹果"不是一个文件夹,而只是一个名字!

确定这里是一个一步步骤的计划:

  1. 用户类型 www.site.com/folder1/login.php
  2. Url应当改写,并不向url www.site.com/apple/login.php

这意味着 apple 只是一个名称而不是一个目录。所有代码,应该从夹1.实际上苹果应该仅仅是个别名 folder1.我不能刚刚重新命名 folder1Apple.因此,我只想重写 folder1apple.

有帮助吗?

解决方案

mod_rewrite只能重写/重新定向的要求Uri。所以你会需要的请求 /apple/… 把它改写为相应的 /folder1/….

试试这个:

RewriteEngine on
RewriteRule ^apple/(.*) folder1/$1

这一规则将重写每个请求,开始与URI路径 /apple/… 内部 /folder1/….


编辑 因为你实际上正在寻找其他方式圆:

RewriteCond %{THE_REQUEST} ^GET\ /folder1/
RewriteRule ^folder1/(.*) /apple/$1 [L,R=301]

这一规则的设计工作,连同其他规则之上。请求的 /folder1/… 将向外部来 /apple/… 并请的 /apple/… 然后将被改写内部回来 /folder1/….

其他提示

尝试:

RewriteRule ^/apple(.*)?$ /folder1$1 [NC]

那里的文件夹你想要显示在网址是在第一部分声明-这是什么,它将对第二部分'重写给你的现有文件夹。该[NC]标志意味着它将忽视情况的差异,例如苹果/仍将前进。

在这里看到的一个教程: http://www.sitepoint.com/article/guide-url-rewriting/

还有一个好的测试用于windows你可以从这里下载:http://www.helicontech.com/download/rxtest.zip 只是注意到,用于测试你需要离开出的域名字-所以测试将对/folder1/login.php

重定向从夹1至/苹果尝试这样的:

RewriteRule ^/folder1(.*)?$ /apple$1 [R]

重定向和再重写,只是结合上述要文件:

RewriteRule ^/folder1(.*)?$ /apple$1 [R]
RewriteRule ^/apple(.*)?$ /folder1$1 [NC]
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top