我使用htdocs
文件夹中的一些文件创建了我的网站,例如:.htaccess
,web.php
...过去,我为我的网站使用了旧的网址结构:{{ 1}}。然后,我使用了一个新的old.php?id=12
,使用这个简单的new/12
:
.htaccess
现在,我不希望任何用户可以使用旧的URL结构访问我的网站。你能告诉我:如何重写URL并返回RewriteEngine On
RewriteRule "^new/([0-9]+)/?$" "/old.php?$1"
原始链接?
答案 0 :(得分:1)
试试这个:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^new/(\d+)*$ ./old.php?id=$1
答案 1 :(得分:1)
最佳解决方案,尤其是SEO,是制作重定向301:
RewriteEngine on
# external redirect from actual URL to pretty one
RewriteCond %{THE_REQUEST} \s/+old\.php\?id=(\d+) [NC]
RewriteRule ^ /new/%1? [R=301,L,NE]
# internal forward from pretty URL to actual one
RewriteRule ^new/(\d+)/?$ /old.php?id=$1 [L,QSA,NC]
为了毫不费力地获得真正的404,最简单的方法是将隐藏的页面名称更改为new.php(也在htaccess中)并删除old.php页面。