从网址中删除页面+查询字符串
问题描述:
我有一个旧的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]