首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >htaccess从zeus转换为apache重写

htaccess从zeus转换为apache重写
EN

Stack Overflow用户
提问于 2012-12-02 06:14:25
回答 1查看 182关注 0票数 0

我正在从zeus平台迁移到apache,并且遇到了以下重写问题:

代码语言:javascript
复制
/12345-somepage.html
/event.php?ref=12345

这是.htaccess

代码语言:javascript
复制
RewriteEngine  on
RewriteRule    ^/([0-9]*)- /event.php?ref=$1 <-- This doesn't work 404 not found
RewriteRule    ^otherpage.htm  index.php?Month=0&Category=otherpage <- This one works

这是现有的Zeus重写规则:

代码语言:javascript
复制
match URL into $ with ^/([0-9]*)-
if matched then set URL = /event.php?ref=$1

我已验证目标地址有效,即/event.php?ref=12345

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-02 06:59:34

您的默认RewriteBase/,这就是您不匹配前导/的原因,设置RewriteBase以防止意外行为,添加修饰符[L]以便Apache在此匹配后停止处理以下重写,添加[QSA]以附加原始url中的查询字符串

这是可行的:

代码语言:javascript
复制
RewriteEngine On
RewriteBase /

RewriteRule    ^([0-9]+)- /event.php?ref=$1 [L,QSA]

我的event.php

代码语言:javascript
复制
<?php 
echo $_SERVER['PHP_SELF'];
echo "\n";
print_r( $_GET ); 
?>

输出

代码语言:javascript
复制
# curl -i http://localhost/1234-mypage.html
HTTP/1.1 200 OK
Date: Sat, 01 Dec 2012 22:57:28 GMT
Content-Type: text/html

/event.php
Array
(
    [ref] => 1234
)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13664289

复制
相关文章

相似问题

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