基本上,我正在尝试将我的查询字符串 url 转换为用于 SEO 目的的目录结构。而且我已经到了尝试在 .htaccess 文件中以多种语义方式说出相同逻辑的地步,以查看是否可以得到结果。这就是我想要做的。
请求是: mywebsite.com/test/antitrust/somelongfilename/
然后修改为请求: mywebsite.com/test/antitrust/ ?id=news&post=news/somelongfilename.html
这样当人们点击我的 SEO 友好链接时,他们就会变成我的 php 代码可以读取的丑陋链接。“somelongfilename.html”本身不会显示,它只是被推送到 php 文件的内容区域的内容。
仅供参考,post=news/somelongfilename.html 实际上是从 antitrust 目录转到的目录/文件,因此它位于 /test/antitrust/news。即使将 / 放在查询字符串中可能不是一个好主意,它也可以正常工作。
.htaccess 位于 /antitrust 子目录中,因为我不想触摸根目录 .htaccess,因为它为许多我不想影响的网站提供服务,因为我不是 .htaccess 专家。
RewriteOptions inherit
RewriteEngine On
RewriteCond %{HTTP_HOST} news
RewriteRule ^/(.*) index.php/?id=news&post=$1 [QSA,L]
还尝试了许多变体:
RewriteEngine On
RewriteOptions inherit
RewriteCond %{HTTP_HOST} ^news$
RewriteRule \/(.+?)\/? ^?id=news&post=$2 [QSA,L]
RewriteRule ?id=(.+?)&post=(.+?) http://mywebsite.com/test/crush/antitrust/$1/$2/ [QSA,R]
关于我做错了什么部分的任何想法?谢谢。