apache - 如何使用 .htaccess 用 @username 重写 URL
问题描述
我在 PHP 中有一个配置文件系统。如果你想访问他们的个人资料,你必须转到 /profile.php?user=username 我希望能够重写这个 /@username。
目前,我的 .htaccess 代码是这样的:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ - [F]
RewriteRule ^@(.*)$ profile.php?user=$1 [L,QSA]
修复:我必须在我的 apache 配置中将 AllowOverride 更改为 All。
<Directory /path/to/directory>
AllowOverride All
</Directory>
并将我的 htaccess 文件更改为:(感谢回答此问题的人)
RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^@(.*)/?$ profile.php?user=$1 [L]
解决方案
根据您显示的示例,您能否尝试以下操作。考虑到您正在点击http://localhost:80/@test"
您希望它提供服务的URLhttp://localhost:80/profile.php?user=$1
RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^@(.*)/?$ profile.php?user=$1 [L]
也正如评论中提到的,你不想使用[F]
你的规则显示的示例 htaccess 所以我已经从这里删除了。
推荐阅读
- hyperledger-fabric - 在 Hyperledger Fabric 中创建私有数据的问题
- angular - 在同一个 UMD 中打包外部依赖项
- java - 需要帮助自动化多因素身份验证测试?
- angular - Angular 6 动态表单渲染
- javascript - 使用网格布局 - HTML 水平均匀定位框
- asp.net-mvc-5 - 使用 grid.Mvc6 创建 gridview 时显示错误
- php - 在 WooCommerce 产品类别中包含静态页面
- pytorch - cuDNN 错误:CUDNN_STATUS_BAD_PARAM。有人可以解释为什么我会收到此错误以及如何纠正它?
- android - React 本机应用程序以接收来自 youtube 等应用程序的共享链接
- hybris - Hybris OOB代码开发中如何访问OOB代码