网站中的所有链接都是一个变量。用户始终打开index.php并提供不同的get变量,这些变量定义了不同的内容。
示例: 主页是example.com/?p=1 联系页面是example.com/?p=7
现在我希望网址看起来像example.com/contact。由于页面数量不是静态的,我无法为每个页面创建目录。
我可能需要一种方法将index.php(example.com?p=3)的内容导入到一个不存在的路径(example.com/new-path)。
我听说有一种方法可以使用.htaccess文件来解决这个问题。
答案 0 :(得分:1)
我不是.htaccess / mod_rewrite专家,但刚发现这个可能对你有用。请注意,您必须为要重定向的每个页面提供一个条目,因为系统本身不会知道数字和页面之间的关系。您可能需要尝试删除index.php
。
# Original URL:
# http://www.example.com/index.php?p=1
# Desired destination URL:
# http://www.example.com/path-to-new-location/
# .htaccess syntax:
RewriteEngine on
RewriteCond %{QUERY_STRING} p=1
RewriteRule ^index\.php$ /path-to-new-location/? [L,R=301]
# Redirect URLs with query parameters (files placed in subdirectory)
注意,#
是评论的标志,该行上的任何内容(灰色)都将被忽略,其唯一目的是为您提供信息/评论代码。
来源(第52-63行):Common .htaccess Redirects - Gist