【问题标题】:Is it possible to rewrite URL by first capital letter?是否可以通过第一个大写字母重写 URL?
【发布时间】:2013-10-22 22:25:24
【问题描述】:

是否可以让 .htaccess 在 URL 中查找第一个大写字母?

例如:

example.com/?country=United-Kingdom 

应该改写为:

example.com/United-Kingdom

但是

example.com/?page=somepage 

应该改写为:

example.com/somepage

基本上我希望 htaccess 对以第一个大写字母开头的字符串采取行动。

【问题讨论】:

    标签: .htaccess mod-rewrite


    【解决方案1】:

    试试:

    RewriteEngine On
    
    RewriteRule ^([A-Z][a-zA-Z0-9-]+)$ /?country=$1 [L]
    RewriteRule ^([a-z0-9-]+)$ /?page=$1 [L]
    

    这两条规则将接受http://example.com/United-Kingdom 之类的请求,并在内部将它们重写为:/?country=United-Kingdom,而http://example.com/somepage 之类的请求在内部被重写为/?page=somepage,假设页面不能有大写字母。

    要重定向浏览器以显示非查询字符串 URL,您需要:

    RewriteCond %{THE_REQUEST} \ /(index\.php)?\?(page|country)=([^&\ ]+)
    RewriteRule ^ /%3 [L,R=301]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-01
      • 2018-04-03
      • 2012-11-24
      • 1970-01-01
      • 2016-10-20
      • 2018-07-08
      • 2013-11-29
      相关资源
      最近更新 更多