php - 我需要使用 .htaccess 将自定义单词添加到我的 URL 中

标签 php .htaccess url-rewriting

假设这是我的域:

www.mydomain.com

自定义单词应该位于域名之后,示例如下:

www.mydomain.com/[my-custom-word]/directory1?data1=1&data2=2

我希望它变成:

www.mydomain.com/directory1?data1=1&data2=2

我已经尝试过这个问题的答案:

How to add a custom word to my domain URL for every request?

这是我的 .htaccess 代码(基于所附链接的答案):

RewriteEngine On
RewriteRule ^([A-Za-z0-9-.]+)/directory1/?$ directory1?customword=$1

但这忽略了从 URL 传递的 PHP 其他 GET 数据,我只从 GET 数据中获取 [my-custom-word]。

[my-custom-word] word 是动态的,我认为根据数据库中的每条记录创建 [my-custom-word] 文件夹是不值得的。

最佳答案

您需要通过在字符类的最后或第一个位置放置连字符来修复正则表达式,并使用 QSA 标志来保留现有的查询字符串:

RewriteEngine On

RewriteRule ^([A-Za-z0-9.-]+)/directory1/?$ directory1/?customword=$1 [L,QSA,NC]

关于php - 我需要使用 .htaccess 将自定义单词添加到我的 URL 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32735310/

相关文章:

php - htaccess 重写 if 条件 if 变量等于某个字符串

reactjs - .htaccess - 两个 React 应用程序之间的重定向

apache - 为 SEO 和漂亮的 URL 重写 map

php - 在 PHP 中建立 SEO URL 系统的好方法是什么?

php mysql 显示好友的帖子

php - 如何将 Tesseract OCR 安装到由 PHP 运行的 WAMP 服务器上?

php - 不明白 serialize()

amazon-web-services - 如何在 AWS Lightsail LAMP 模块中启用 .htaccess

iis-7 - IIS7网址重写-我可以将stopProcessing ="false"与重定向规则一起使用吗?

javascript - 尝试使用php函数生成的随机值自动生成QR码