htaccess 有一个尴尬的问题(rewritecond / rewriterule)

发布于 2024-12-13 18:38:35 字数 264 浏览 0 评论 0原文

基本上我想要重写引擎来杀死任何包含“.php”的 URI。

所以我已经得到了这个,但它似乎不起作用......

RewriteCond %{REQUEST_URI} ^(\.php)+$
RewriteRule ^/$ 404[L]

即使只是 RewriteRule ^(.*.php)+/$ 404 也不起作用。

也许我的大脑因为一整天都在这个项目上工作而感到震惊,所以这可能是一个小错误。

谢谢

Basically I want rewrite engine to kill any URI's that have ".php" in it.

So I've got this, but it doesn't seem to work...

RewriteCond %{REQUEST_URI} ^(\.php)+$
RewriteRule ^/$ 404[L]

Even just RewriteRule ^(.*.php)+/$ 404 doesnt' work.

Maybe my brain is stunned from working on this proj all day, so it could be a little error.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

得不到的就毁灭 2024-12-20 18:38:35

试试这个:(

RewriteRule ^(login|register)$ $1.php [NC,QSA,L]

RewriteCond %{SCRIPT_FILENAME} !\/(login|register)(\.php)? [NC]
RewriteCond %{REQUEST_URI} \.php$
RewriteRule (.*) 404 [L]

登录|注册|等...)是文件名。这意味着:登录或注册或其他文件(如果您有多个文件)。如果您只有 1 个,您可以使用(登录)或登录

Try this:

RewriteRule ^(login|register)$ $1.php [NC,QSA,L]

RewriteCond %{SCRIPT_FILENAME} !\/(login|register)(\.php)? [NC]
RewriteCond %{REQUEST_URI} \.php$
RewriteRule (.*) 404 [L]

the (login|register|etc...) are the file name. It means: login OR register OR some other file if you have more than one. If you only have 1 you can use (login) or login

静待花开 2024-12-20 18:38:35

您不能使用 RewriteRule 将 URI 重定向到 php 文件;它成为一个漏洞,第一个条件是 ^(php)。

You can't have a RewriteRule that redirects a URI to a php file; it becomes a loop hole with the first cond being ^(php).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文