【问题标题】:htaccess 2 mod_rewritehtaccess 2 mod_rewrite
【发布时间】:2012-11-05 03:41:15
【问题描述】:

我是 .htaccess 的初学者,谁能帮我解决这个问题?

//我的.ht访问代码

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /alumini/profile.php?username=$1

//上面我可以重定向url

localhost/alumini/profile.php?username=name

本地主机/铝/名称

但我也想将 loacalhost/alumini/index.php 隐藏到 loacalhost/alumini

简单地说……

我想要一个 htaccess 代码来隐藏索引页面,我还需要转换

localhost/alumini/profile.php?username=name

本地主机/铝/名称

【问题讨论】:

    标签: php .htaccess url xampp


    【解决方案1】:

    您的第一个请求是重写,而不是重定向。你的第二个是重定向。对于重写,以下规则应该可以解决问题(未经测试):

    RewriteRule ^localhost/alumini/([a-zA-Z]+)$ /alumini/profile.php?username=$1
    

    括号内的正则表达式匹配一个或多个大写或小写字母,没有别的,匹配的值被传递给$1。您可能需要根据用户名的格式更改正则表达式。

    对于 index.php 重定向(删除存在的 index.php):

    Redirect 301 /alumini/index.php http://localhost/alumini
    

    301 代表页面已经永久移动,并且对于 SEO 来说更好,因为只有非 index.php 页面会被索引。

    【讨论】:

      【解决方案2】:
      RewriteRule ^localhost/alumini/([a-zA-Z0-9]+)$ /alumini/profile.php?username=$1
      RewriteRule ^localhost/alumini$ /alumini/index.php
      

      【讨论】:

      • 您的第二条规则不会阻止人们访问 alumni/index.php - 它需要被重定向。重写只是意味着访问 alumni/ 的人将显示 alumni/index.php 无论如何默认都会发生。
      • 谢谢你帮了大忙:D
      猜你喜欢
      • 2011-01-12
      • 2014-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-04
      • 2011-11-17
      • 2011-05-04
      相关资源
      最近更新 更多