![我如何忽略 URL 的一部分?](https://linux22.com/image/520029/%E6%88%91%E5%A6%82%E4%BD%95%E5%BF%BD%E7%95%A5%20URL%20%E7%9A%84%E4%B8%80%E9%83%A8%E5%88%86%EF%BC%9F.png)
我当前的重写规则如下:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond ${REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_URI} ^/video/(.*)$
RewriteRule ^(.*)$ /video/index.php [L]
URL 类似,example.com/video/?p=2231&c=395840&s=849264&l=101641
工作正常。
出于 SEO 原因,我需要允许video/
和之间的任何字符串?p=2231&c=395840&s=849264&l=101641
。例如,URLexample.com/video/string/string/?p=2231&c=395840&s=849264&l=101641
不应映射/string/string/
到 index.php。
我尝试了以下规则,但是没有效果:
RewriteRule ^video/(.+)/(.+)/(.+)$ /video/$3 [L]
我该如何解决这个问题?
答案1
如果你只需要查询字符串参数,你可以尝试这个RewriteRule:
RewriteRule ^video(.*) /video/index.php [QSA,L]
QSA Flag 将“转发”参数到下一个脚本(即 index.php)。