我的问题是,我想为.htaccess文件编写自己的规则。我在网上搜索过,他们没有告诉我如何写我自己的具体规则。我只知道它使用正则表达式。我对正则表达式知之甚少。
我正在寻找的是我有以下链接
http://example.com/work/project-1
http://example.com/work/project-2当用户像这样输入时
http://example.com/work/PrOJect-2我希望他们重定向到(将所有大写转换为小写)
http://example.com/work/project-2 但是当用户像这样输入时
http://example.com/work/ 或
http://example.com/work 我想重定向到主页。
为此,我有htaccess文件,它有一些规则,如
RewriteEngine On
RewriteRule ^work(.*)/([^/]*) work-single.php$1?slug=$2 [QSA]请帮我写这些规则。
发布于 2016-09-16 15:45:24
你想要实现的目标叫做重写。
下面是一个有效的.htaccess文件示例:
RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url_params=$1 [L,QSA]使用上述规则集的结果是,来自请求的完整URL将在服务器端传递到index.php,在那里可以使用以下命令获取字符串:
$urlString = $_GET['url_params'];并进一步处理,例如将字符串切片为标记数组:
$urlTokens = explode('/', $urlString);
foreach($urlTokens as $token){
// do something with each token
}最后分析令牌(这是一项如今大多数人实际上不会手动完成的任务,因为使用了自动处理这一点的框架。例如,Zend框架),对于每个有效的“令牌”,您采取适当的行动(在现代框架中这被称为“路由”)。
有关如何设置url重写的完整教程,请查看:https://code.tutsplus.com/tutorials/using-htaccess-files-for-pretty-urls--net-6049
它可以非常简单,也可以非常复杂--这取决于你的需求。
请记住,这只是一个示例,可能不适用于您的实际情况,您可能希望自定义它以满足您的需求-或者至少从中学习并解决您的问题。
我建议你阅读和学习更多关于这个主题的知识,这会让你更容易使用这项技术。
希望能帮上点忙
https://stackoverflow.com/questions/39526158
复制相似问题