我有这个 .htaccess 文件:
Options +FollowSymLinks
DirectorySlash On
RewriteEngine On
# Remove trailing slash for non directories
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /mydir%1/$1 [R,L=303]
# Make direct files accessible
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^base.php.*$
RewriteRule ^([^\n]+)|(.*)$ base.php?___ROUTE=$1 [QSA,END]
具有以下重定向行为:
d.com/mydir
→d.com/mydir/
d.com/mydir/nothing
→ 运行 d.com/mydir/nothing/
→d.com/mydir/nothing
d.com/mydir/exist_dir
→d.com/mydir/exist_dir/?___ROUTE=exist_dir
d.com/mydir/exist_dir/
→ 运行 d.com/mydir/exist_file.css
→ 运行 d.com/mydir/exist_file.css/
→d.com/mydir/exist_file.css
通过 run 我的意思是它响应文件内容或执行
base.php?___ROUTE=$1
现在我有一个问题和一个问题
问题:
我不知道如何解决重定向号码4。
数字5应该重定向到d.com/mydir/exist_dir
。
数字4应该执行base.php?___ROUTE=$1
而不是重定向
问题:
如何在.htaccess
中使用当前目录名称,而不是在每个项目中写入其名称?
我的意思是/mydir
中的RewriteRule ^(.*)/$ /mydir%1/$1 [R,L=303]
答案 0 :(得分:0)
我做到了。
首先,我为移去的斜杠路径创建了more
,然后在ENV Variable
中使用了它。
RewriteRule