【发布时间】:2018-03-28 23:42:00
【问题描述】:
我在我的个人资料目录中创建了一个 .htaccess 文件,并且能够更改网址:
http://www.legacycloud.org/profile/index.php?user={username}
到
http://www.legacycloud.org/profile/{username}
这完全有效。但是如果用户忽略 index.php 并放置:
http://www.legacycloud.org/profile/?user={username}
通常用户不会知道 url 参数“用户”,但以防万一我将如何继续制作
http://www.legacycloud.org/profile/?user={username}
转换成
http://www.legacycloud.org/profile/{username}
也是。
我尝试使用我当前的代码
RewriteEngine On
RewriteBase /profile/
RewriteCond %{THE_REQUEST} \s/profile/index\.php\?user=([a-zA-Z0-9_-]*)\s [NC]
RewriteRule . %1? [R=301,L]
RewriteRule ^([a-zA-Z0-9-_]+)$ index.php?user=$1 [L]
#Code above works (Converts profile/index.php?user -> profile/user)
#Code below doesn't work (Needing to convert profile/?user -> profile/user)
RewriteCond %{THE_REQUEST} \s/?user=([a-zA-Z0-9_-]*)\s [NC]
RewriteRule . %1? [R=301,L]
RewriteRule ^([a-zA-Z0-9-_]+)$ ?user=$1 [L]
但这似乎行不通。我四处寻找有人有一个例子,但大多数代码都包含一个 php 文件扩展名,当我尝试设置配置文件的路径并删除文件扩展名部分时,它仍然不起作用。
同样,上述代码的 .htaccess 文件夹位于配置文件目录中,而不是根目录中。
如果您需要更多信息,请在下方评论。
【问题讨论】:
标签: php .htaccess mod-rewrite