0

我有以下文件夹:

mywebsite/en/index.php
mywebsite/en/product/info.php
mywebsite/en/tags/tags.php
mywebsite/en/games/list.php

我的网站在友好的 url 上运行,可以从以下友好的 url 访问最上面提到的文件

mywebsite/en/?pageno=1
mywebsite/en/product/Nike-glove
mywebsite/en/tags/Nike
mywebsite/en/games/ice-sports

我有一些例子,但没有什么对我有用...我想阻止直接访问 .php 文件..我想用 htaccess 做到这一点...我可以吗?

谢谢和亲切的问候

卷标

4

5 回答 5

5

添加404页面并尝试以下...

RewriteCond %{THE_REQUEST} ^[A-Z]+\ /[^?\ ]*\.php[/?\ ]
RewriteRule .*\.php$ 404.php [L]
于 2012-07-30T04:47:03.473 回答
2

不确定您要完成什么,但这将阻止直接访问您的 php 文件:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /[^\ ]+\.php($|\ )
RewriteRule \.php$ / [F,L]

虽然我猜你真的想在直接访问 php 文件时重定向到友好的 url。

于 2012-07-30T04:06:17.563 回答
1
<Files ~ "\.php$">
Order allow,deny
Deny from all
</Files>
于 2012-07-30T04:02:28.423 回答
1

我确定的解决方案基于@Fou's answer,但我已对其进行了修改以处理这种情况/script.php/oops并选择将响应代码重写为 404 而不是使用临时重定向:

RewriteCond %{THE_REQUEST} ^[A-Z]+\ /[^?\ ]*\.php[/?\ ]
RewriteRule .* - [R=404]
于 2017-07-07T20:49:25.087 回答
0

只需将其添加到您的 htaccess 文件中...试一试 :) 希望它有用

RewriteEngine On
IndexIgnore *
于 2012-07-30T04:47:48.700 回答