首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过.htaccess重命名第一个参数

如何通过.htaccess重命名第一个参数
EN

Stack Overflow用户
提问于 2012-03-09 20:25:09
回答 4查看 655关注 0票数 1

如何在.htaccess文件的帮助下将第一个参数重命名为任何变量?

例如,对于http://localhost/mysite/index.php,我希望将index.php或任何其他页面名称重命名为某个特定的名称。

例如,.htaccess将向我返回以下url

http://localhost/mysite/page

“页面”可以是任何页面名称,如index.php、about.php等。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-03-09 20:42:12

要仅“允许”带有字母的页面:

代码语言:javascript
运行
复制
RewriteEngine on
RewriteRule ^mysite/([a-z]+)$ http://localhost/mysite/$1.php [L]

“允许”包含任何字符的页面

代码语言:javascript
运行
复制
RewriteEngine on
RewriteRule ^mysite/([.]+)$ http://localhost/mysite/$1.php [L]
票数 1
EN

Stack Overflow用户

发布于 2012-03-09 20:37:57

使用Mod_rewrite重写您的url。这是基于模式的。

首先将此代码添加到您的.htaccess中

Options +FollowSymlinks on

这将打开重写引擎。然后定义一个必须捕获和重写的模式:

RewriteRule ^page/(^/.+)/?$ ^.php L

我认为这条规则会重写你所要求的内容。要获得更多信息,只需在谷歌上查看mod_Rewrite使用的示例

票数 0
EN

Stack Overflow用户

发布于 2012-03-09 20:44:46

通常在查询字符串中包含一个插件或请求URI,然后结合使用.htaccess和PHP来重写传入的请求。

例如,您可以在.htaccess文件中包含以下内容,以捕获所有传入的请求:

代码语言:javascript
运行
复制
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?url=$1 [L,QSA]

这将重写任何不是文件或目录的传入URL。所以http://example.com/page是匹配的。

然后,在您的index.php脚本中,您将具有类似于以下内容的内容:

代码语言:javascript
运行
复制
<?php
$parts = explode('/', $_GET['url']);

这只是在斜杠上拆分你的网址,所以如果请求的网址是/page/about-us,你会得到一个看起来像下面这样的数组:

代码语言:javascript
运行
复制
array(2) {
  [0]=> string(4) "page"
  [1]=> string(8) "about-us"
}

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9634029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档