从网址中删除页面+查询字符串

问题描述:

我有一个旧的URL语法,因为我改变了我的CMS,旧的语法不再工作,我有很多错误404。我想删除“article.php?p =”点击这里:从网址中删除页面+查询字符串

到:

如何从htaccess的URL中完全删除字符串“article.php?p =”?我尝试了很多东西,但对我来说似乎太难了。

要删除article.php P =使用以下命令:?

RewriteEngine On 
RewriteRule ^([^/]*)\.php$ /article.php?p=$1 [L] 

你可以使用这个作为一种替代方案:

RewriteCond %{QUERY_STRING} (^|&)p=name_of_my_page($|&) 
RewriteRule ^article\.php$ /name_of_my_page?&%{QUERY_STRING} 

要旧的URL重定向到新的一个,你必须首先用RewriteCond从查询字符串中捕获页面的名称,然后使用它在RewriteRule

RewriteCond &%{QUERY_STRING}& &p=(.*?)& 
RewriteRule ^article\.php$ /%1? [R,L]