javascript - 如何使 .htaccess 将所有请求从 url 重定向到 get.php?u= 但不包括现有文件
问题描述
我是新手.htaccess
,我遇到了一个我无法解决的问题。
我有我的网站 URL(对于此示例https://example.com
),并且我希望每次访问https://example.com/example
时都重定向到,get.php?u=example
但如果它是真实文件,则排除重定向,例如:https://example.com/index.html
.
我尝试过使用重定向和异常,但它们都不起作用。
解决方案
您可以在.htaccess
文件顶部使用 mod_rewrite。例如:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) /get.php?u=$1 [R,L]
这会发出一个临时 (302) 重定向,将表单的 URL 重定向/example
到/get.php?u=example
,除非/example
映射到文件系统上的物理文件。(目录仍将被重定向。)
但是,如果您想改写URL(即不要更改浏览器地址栏中的 URL),则将RewriteRule
指令更改为:
RewriteRule (.*) get.php?u=$1 [L]
IE。删除R
( redirect
) 标志和斜杠前缀(这不是必需的)。
推荐阅读
- android - Jetpack Compose 如何创建具有特定大小和配置的 ImageBitmap?
- javascript - 检查数组对象是否不包含对象
- java - 注册表目录不可用:c:\Program Files\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry
- r - 尝试使用 as_datetime() 将字符转换为日期时间,但在 R 中格式错误
- ruby-on-rails - 如何解决 ubuntu 20.04 上 ruby 2.7.4 的“库版本不兼容”问题?
- mdriven - MSSQL InvalidCastException - 文本类型的属性问题 - 无法转换为 Micosoft.Data.SqlClient.SqlParamater
- html - 如何将样式应用于 div 内的元素?我里面有一些内容,我想把它移到左边
- javascript - 试图做到这一点,以便我可以使用 div 打开一个 div,关闭任何其他打开的 div,然后滚动到我单击的 div 打开它
- python - 如何通过复制保存DataFrames的字典?
- mysql - Laravel 中的 Mysql 分区