繁体   English   中英

Mod_rewrite重定向到特定文件

[英]Mod_rewrite redirect to specific file

我将首先向您展示我的代码,然后再说明我要实现的目标。

RewriteEngine On

RewriteRule ^core$ library/core.php [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^$ public/ [L]

RewriteRule ^(.*)$ public/$1 [L]

我正在使用core.php作为ajax发送的多个请求的处理器文件。 当我发出请求时,它将类似于“ http:// mysite / core ”,我希望它通过.htaccess文件发出并直接发送至“ http://mysite/library/core.php ”。 我对其进行了测试,并且可以正常运行(我猜这很奇怪)。 但是,如果请求不是“ http:// mysite / core ”,我想测试该请求是否既不是文件也不是文件夹,并且如果它不是其中的任何一个,我想:

如果删除最后一个RewriteRule,一切正常。 但是,如果允许的话(即使我访问“ http:// mysite / core ”),它也会一直将我重定向到“ http://mysite/public/library/core.php ”。 我不知道发生了什么事。 就像他不知道我的第一个RewriteRule中的[L]标志一样。

任何帮助将非常感激。 提前致谢。

有这种方式:

RewriteEngine On

RewriteRule ^core$ library/core.php [L,NC]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ public/$1 [L]

RewriteCond仅适用于下一个RewriteRule

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM