我已在我的域中的子目录下安装了Yourls 该服务在其位置上运作。 工作网址为http://mydomain.com/1/abc,其中1是子目录。
有没有办法让规则能够调用http://mydomain.com/1abc来解析工作网址http://mydomain.com/1/abc?
我不太明白将它放在何处以及如何设置规则,因为我没有发送参数。
由于
答案 0 :(得分:1)
假设子目录总是由数字组成,子目录是物理目录,请在www-root中创建一个文件.htaccess
并添加以下内容:
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]+)[^/]*$
匹配相同的东西,因为我们需要假设的目录-part在下一个条件中。RewriteCond %{DOCUMENT_ROOT}/%1 -d
检查我们认为的数字是否是一个子目录,实际上是一个目录。如果是这种情况,则url将在内部重写为/number/restoftheurl
。