如何用一个参数写出花哨的 url

how to write fancy url with one parameter

我有一个索引页 www.domainname.com 和一个名为 all.php 的文件。 我想通过 .htaccess 文件动态更改它。 我想要 www.yourame.com/all.php?category=foo 到 www.yourname.com/all/foo 到目前为止我在 .htaccess 中尝试的是

RewriteEngine On
RewriteRule ^(.*)/index.php/?category= [QSA]

但 url 中的结果仍然相同,即。

www.yourname.com/all.php?category=foo

那么我怎样才能达到预期的效果,在此先感谢

我认为您遇到的问题是因为您在重写和文件路径之间缺少 space。

类似这样的内容可能适合您:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php?category= [QSA]

试试这个规则

 RewriteRule    ^all/([A-Za-z0-9-]+)/?$    all.php?category=    [NC,L]    

您可以在 DOCUMENT_ROOT/.htaccess 文件中使用此代码:

RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} /all\.php\?category=([^\s&]+) [NC]
RewriteRule ^ all/%1? [R=302,L,NE]

RewriteRule ^all/([^/.]+)/?$ all.php?category= [L,QSA,NC]

是的,我试过了,效果非常好 我的 .htaccess 文件代码是

RewriteEngine On

RewriteRule ^all/([^/.]+) all.php?category= [L,NC]

我的索引文件代码是

<a href="all/foo>click here</a>

结果是

www.yourdomain.com/all/foo