301重定向特定网址

时间:2015-11-25 13:29:21

标签: apache .htaccess redirect

我想将网页的网址(只有一个名为meto.php的网页)修改为自定义网址。

位于子目录meto.php中的/pob/文件非常重要 我想将此www.domain/pob/meto.php更改为www.domain/pob/define.php

当访问者输入此地址www.domain/pob/meto.php地址栏时,会显示以下地址:www.domain/pob/define.php

请注意define.php文件不存在。

我在.htaccess /pob/(非根目录)的Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^domain.com[nc] RewriteRule ^(.*)$ http://www.domain.com/pob/$1 [r=301,nc] Redirect 301 meto.php define.php //also Redirect 301 /meto.php http://www.domain.com/pob/define.php // RewriteRule ^meto.php define.php 文件中尝试了此代码:

<svg width="400" height="400" viewBox="0 0 400 400" 
  xmlns="http://www.w3.org/2000/svg">
    <g id="r1" transform="translate(20,100) rotate(30, 175, 85)">
        <rect width="350" height="170" fill="#69c" fill-opacity=".1" />
    </g>
    <g id="r2" transform="">
        <rect width="150" height="100" fill="green" fill-opacity=".1" />
    </g>
    <g id="r3" transform="">
        <rect width="150" height="100" fill="red" fill-opacity=".1" />
    </g>
</svg>

不幸的是,上述所有尝试都失败了。

服务器信息:

Apache 2.2版

PHP:5.5

1 个答案:

答案 0 :(得分:0)

您不能使用mod_alias的Redirect Directiv重写文件,它用于外部重定向。

尝试mod_rewrite

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/pob/$1 [R=301,L]
#1) redirect "/pob/meto.php to "/pob/define.php"
RewriteCond %{THE_REQUEST} /meto.php [NC]
RewriteRule ^ /define.php [NC,L,R]

 #2) rewrite "pob/define.php" to "/pob/meto.php"
 RewriteRule ^define\.php$ /pob/meto.php [NC,L]