我想使用.htacess
文件从 localhost / myproject / setting / 重定向到 localhost / myproject / settings.php 。
我使用以下规则:
RewriteRule ^setting/$ settings.php [L]
但是,它首先带我进入 localhost / myproject / setting / ,然后运行 settings.php 文件。我不要这个[我的根目录中没有名称为“ setting”的文件夹!]
如何解决我的问题?
答案 0 :(得分:1)
如果我理解正确,那么您想从任何以
从localhost/myproject/setting/
到localhost/myproject/setting/anything.php
的{{1}}
localhost/myproject/settings.php
如果您想将发送到RewriteEngine on
RewriteBase /
RewriteRule "^/setting/(.*)$" "settings.php" [L]
的GET变量传递给/seting/
,请使用
settings.php
答案 1 :(得分:1)
问题在于,当您的规则匹配时,它会在/setting/
文件夹中进行。然后,它尝试在内部将其重写为当前文件夹中的settings.php
(因为您使用的是相对路径)。解决方案:使用RewriteBase
而不是相对/绝对路径
这是您的/myproject/.htaccess
文件的外观
Options -MultiViews
RewriteEngine On
RewriteBase /myproject/
# RewriteBase path (/myproject/) is always added in front of relative path -> /myproject/settings.php
RewriteRule ^setting/$ settings.php [L]