我在两个不同的页面上有两个链接:
1:destinations.php?country=america
我希望将其更改为example.com/america
2:cheap-flights.php?city=paris
我希望将其更改为example.com/paris
我的.htaccess文件是:
RewriteEngine On
RewriteBase /
RewriteRule ^([^/\.]+)/?$ destinations.php?country=$1 [L]
RewriteRule ^([^/\.]+)/?$ cheap-flights.php?city=$1 [L]
问题是只有第一条规则有效。我研究了这个问题,发现多个规则在同一个目录下没有工作。
答案 0 :(得分:0)
我建议使用网址格式:
example.com/country/america
和example.com/city/paris
。
然后像这样调整RewriteRules:
RewriteEngine On
RewriteBase /
RewriteRule ^country/([^/\.]+)/?$ destinations.php?country=$1 [L]
RewriteRule ^city/([^/\.]+)/?$ cheap-flights.php?city=$1 [L]
如果无法做到这一点,您可以使用以下方法混合国家/地区和城市:
RewriteEngine On
RewriteBase /
RewriteRule ^([^/\.]+)/?$ cityorcountry.php?cityorcountry=$1 [L]
然后,从该PHP文件中,您可以针对数组中的一小部分已知国家/地区检查参数。然后,如果它是阵列中的国家,则将其视为国家/地区,如果不在阵列中,则将其视为城市。或者在决定执行哪个脚本之前,或者使用关键字咨询第三方,以确定其是国家,城市还是两者都不是。