【发布时间】:2011-04-21 14:53:58
【问题描述】:
假设我的网站的域是 [http://mywebsite.com][1] 并且打开 index.php。该脚本从 url 获取 $page,$section,$language 变量。因此 [http://mywebsite.com/index.php?lang=en§ion=home&page=sitemap][2] 打开属于“主页”部分的英文站点地图页面。我希望将相同的 url 重写为 [http://mywebsite.com/home/sitemap_en.html][3]。为了实现这一点,我已经在 .htaccess 中添加了以下内容:
RewriteCond %{REQUEST_URI} .+\/.+
RewriteRule ^(.+)\/(.+)_(mk|en|al)\.html$ index.php?lang=$3§ion=$1&page=$2 [L]
但是现在有一个很大的问题。当我访问这样的一些网址时,找不到文件,因为文件 style.css 在根文件夹中而不是在 [http://mywebsite.com/home/style.css][4] 中,并且服务器在那里正在寻找它。 “home”不是真正的文件夹,它不存在,它只是一个部分。所有的 jpg、png、js、gif 等也是如此。如何以我喜欢的方式重定向页面,以及使用真实路径找到的文件?
附言像 [http://mywebsite.com/index.php?lang=en§ion=contact][5] 这样的部分根本没有页面。应该像这样联系他们:[http://mywebsite.com/contact_en.html][6] 在之前的规则之后,我为他们准备了这个:RewriteRule ^(.+)_(mk|en|al).html$ index.php?lang=$2§ion=$1
【问题讨论】:
标签: php apache .htaccess mod-rewrite