嗨,我是新的URL重写。使用htaccess我想重写:
网址:https://example.com/services/state.php?state=CO&city=Arvada
到
https://example.com/services/CO/Arvada/
我尝试以下,但它是给404错误:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^state=([A-Za-z]+)&city=([A-Za-z]+)$
RewriteRule ^services/state\.php$ /services/%1/%2? [R=301,L]
state.php文件位于根目录/services,而htaccess文件位于根目录。
1条答案
按热度按时间fkvaft9z1#
您必须为URL编写规则:
https://example.com/services/CO/Arvada/
这就是为什么你得到404错误这里最好使用
END
而不是L
,因为使用END
时Apache将不处理任何其他规则,如果使用L
时使用这些规则,则会陷入重定向循环在规则中:
RewriteRule ^services/state\.php$ services/%1/%2 [QSD, R=301,END]
QSD
表示不追加查询字符串