htaccess的URL重写到子目录
-
21-08-2019 - |
题
什么是重写下面“/一些/子目录”到“/一些/子目录/项目”等从这样的事是最好的方法:
http://www.mydomain.com/some/subidr/test/
...这样:
http://www.mydomain.com/some/subdir/projects/test/
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/projects/.*$
RewriteRule ^(.*)$ /projects/$1 [L]
编辑:我忘了提.htaccess文件将不得不坐在内/一些/子目录,因为我没有到服务器的Web根目录的写入权限
解决方案
这是我终于到工作溶液:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/some/subdir/projects/.*$
RewriteRule ^(.*)$ /some/subdir/projects/$1 [L]
其他提示
尝试此规则在你的.htaccess配置文件在服务器中的文档根:
RewriteEngine on
RewriteRule !^some/subdir/projects(/|$) some/subdir/projects%{REQUEST_URI} [L]
当你想在你的/some/subdir/
目录来使用这个规则,更改规则如下:
RewriteRule !^projects(/|$) projects%{REQUEST_URI} [L]
如果你想重定向/some/subdir/projects/
的任何请求的 foobar
应用于/some/subdir/
的 foobar
的,把上面这条规则前面提到的:
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /some/subdir/projects[/?\s]
RewriteRule ^some/subdir/projects/?([^/].+)?$ /some/subdir/$1 [L,R=301]
我会使用这样的:
RewriteEngine On
RewriteRule ^(/some/subdir)/(.*)$ $1/projects/$2
此将/some/subdir/<anything>
重定向到/some/subdir/projects/<anything>
。
请注意龙头/
实际需要相匹配的URL的开头,除非的你RewriteBase /
地方设置。
不隶属于 StackOverflow