如何使用rewriterule重定向到同一文件夹中的php文件?

And*_*ift 0 php generics .htaccess mod-rewrite

我想接受/ somefolder/style.css的请求,并使用/ somefolder/program.php处理它们

所以,我将以下内容放在我的.htaccess文件中:

rewriteengine on
rewriterule ^style.css$ program.php?css=1 [R=302,L]

结果是,服务器尝试重定向到:而不是重定向到/somefolder/program.php:

/var/www/html/somefolder/program.php?css=1

如何摆脱重定向中的/ var/www/html /?我认为,因为我刚刚在.htaccess中输入了program.php,它会默认为同一个文件夹.

由于这是我将在许多地方使用的通用脚本,我想避免使用rewritebase来指定我所在的文件夹 - .htaccess必须在任何文件夹中工作而不进行修改.

Gum*_*mbo 6

R标志移开,您将获得内部重定向:

RewriteRule ^style\.css$ program.php?css=1 [L]
Run Code Online (Sandbox Code Playgroud)

否则,请指定要从外部重定向到的完整URL路径:

RewriteRule ^style\.css$ /program.php?css=1 [R=302,L]
Run Code Online (Sandbox Code Playgroud)

或者对于任意文件夹:

RewriteCond %{REQUEST_URI} (.*)/style\.css$
RewriteRule ^style\.css$ %1/program.php?css=1 [R=302,L]
Run Code Online (Sandbox Code Playgroud)