我不确定如何在不重定向所有.css和.js文件请求的情况下表达此重写规则。
我需要
domain.com/randomfolder/
转到我的域索引(即 domain.com/index.php)请求的任何文件夹,但保持URL不变。
这似乎很容易,但我似乎无法指定我只希望目录的第一个实例重定向。
例如:
重写规则 ^(.*)$ 索引.php
可以重定向,但是当我的索引.php调用/css/main 时.css它会返回索引.php。
有没有办法说 domain.com/subdirectory/ 应该重定向,domain.com/subdirectory/file.css 不应该?
我可以只排除/css/和/js/目录,但我不知道怎么做。
RewriteRule ^([^/]+)/?$ /index.php?folder=$1 [L]
这会将www.example.com/subdirectory/
重定向到www.example.com/index.php?folder=subdirectory
,而不会更改访问者看到的 URL。它不会重定向对子目录中任何特定文件的请求,也不会重定向对子目录中子目录的请求。
URL Requested: Redirect:
--------------------------------------------------------------------
example.com/css example.com/index.php?folder=css
example.com/css/ example.com/index.php?folder=css
example.com/css/main.css example.com/css/main.css (no redirect)
example.com/css/js/ example.com/css/js/ (no redirect)
这应该适合您:
<Files ~ ".(css|js)$">
RewriteRule ^subdirectory(.*)$ index.php
</Files>