2014-02-19 91 views
0

我已将Yourls安装在我的域中的子目录下 服务在其位置上工作。 工作网址是http://mydomain.com/1/abc其中1是子目录。网址缩短的重写规则

有没有办法让一个规则能够呼叫http://mydomain.com/1abc来解决工作的网址http://mydomain.com/1/abc

我不太明白把它放在哪里以及如何设置规则,因为我没有发送参数。

感谢

+0

是否会改变abc?这应该是独一无二的吗?还有其他的规则是否与你的一起出现? –

回答

1

假设子目录始终由数字和子目录是一个物理目录,使文件.htaccess在您的www根,并添加以下代码行:

RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_URI} ^/([0-9]+)[^/]*$ 
RewriteCond %{DOCUMENT_ROOT}/%1 -d 
RewriteRule ^([0-9]+)([^/]*)$ /$1/$2 [L] 

它首先检查url是否匹配^([0-9]+)([^/]*)$(以1或更多数字开始,并且包含之后的任何非斜杠字符RewriteCond %{REQUEST_URI} ^/([0-9]+)[^/]*$匹配相同的内容,因为我们需要假定的目录部分在下一个条件中RewriteCond %{DOCUMENT_ROOT}/%1 -d检查数字we认为是一个子目录y,实际上是一个目录。如果是这种情况,url将被内部重写为/number/restoftheurl