[英]RewriteRule htaccess and hidden php file for all
我在RewriteRule htaccess中遇到问题:例如:我的php文件是main.php,当用户尝试访问www.mysite.com/hello时 ,我们需要这样做,然后显示www.mysite.com/main.php ,我们有以下代码在.htacces中:
# BEGIN Htaccess
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^hello/*$ main.php
但是在此代码中,如果用户可以打开www.mysite.com/hello和www.mysite.com/main.php
如果用户尝试访问www.mysite.com/main.php,则需要显示错误404,但是如果尝试访问www.mysite.com/hello,则需要查看main.php的内容
谢谢;)
您需要在此处与实际要求匹配:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /main\.php
RewriteRule ^ - [L,R=404]
如果需要,可以在RewriteEngine On
下添加它。 解决此问题的另一种方法是检查main.php脚本中的$_SERVER['REQUEST_URI']
,如果它是/main.php
,而不是提供内容,则返回404响应。
您无法404 main.php,也无法将其301到/ hello,因为它将进入无限循环。 您必须检查main.php中的url,如果与hello不同,则将其重定向到/ hello
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.