如何用一个参数写出花哨的 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
我有一个索引页 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