.htaccess 删除URL的某些部分

.htaccess 删除URL的某些部分,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我有一个网站,我有如下页面: domain.com/?p=settings domain.com/?p=daily 我正在寻找重写?p=部分,所以 domain.com/settings 到目前为止,我已尝试将此添加到htaccess文件: RewriteRule ^([^\.]+)$ $1?p= [NC,L] 但它没有起作用 我也试过从谷歌搜索,但没有找到任何 我尝试过其他的RewriteRule,但它们也不起作用。RewriteRule不包括查询字符串。它作为一个单独的变量提供 模式

我有一个网站,我有如下页面:

domain.com/?p=settings

domain.com/?p=daily
我正在寻找重写
?p=
部分,所以

domain.com/settings
到目前为止,我已尝试将此添加到htaccess文件:

RewriteRule ^([^\.]+)$ $1?p= [NC,L]
但它没有起作用

我也试过从谷歌搜索,但没有找到任何


我尝试过其他的RewriteRule,但它们也不起作用。

RewriteRule不包括查询字符串。它作为一个单独的变量提供

模式最初将与URL中主机名和端口之后、查询字符串之前的部分匹配(例如“/app1/index.html”)。这是(%-解码)URL路径

所以下面的方法行不通

RewriteRule^([^.]+)$$1?p=[NC,L]

你需要像这样的东西

RewriteCond %{QUERY_STRING} ^(\w+)=(\w+)$
RewriteRule ^/ %2?

签出并向下滚动到“使查询字符串成为路径的一部分”

如果您的尝试已接近成功,则需要在
中使用此选项。htaccess

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

测试前请确保清除缓存。

您可以从IIS级别重写url。参考此链接,可能有助于您复制