【发布时间】:2011-11-21 01:38:09
【问题描述】:
我正在做一个网站,我面临一个大问题是:
- 我希望我的所有流量 http://www.example.com/ 到 http://example.com 或 http://www.example.com/folder/ 到 http://example.com/folder/
(注意:这里的关键是它可以用于无限数量的子文件夹或页面,只要其相同的根域)
- 我想将http://example.com/name 重写为http://example.com/folder/page.php?page=$name,但我将指定一些像http://example.com/css 这样的网址。 这一次,url 仍然显示http://example.com/name 这是访问过的页面,但实际上页面已被重写。这与更改地址栏中的 url 的第一种情况不同。
现在这就是我所拥有的:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
Options -Multiviews
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} !^example\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/(candidates|css|employers|layout|pics|securimage)/?$
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
RewriteRule ^([^/]+)/?$ employers/page.php?page=$1 [L]
</IfModule>
我上面遇到的问题是:
它似乎对http://www.example.com/name 重写得很好,但是当我有一个带有http://example.com/css 之类的例外的网址时,它会将网址更改为http://example.com/css/?page=css。
请问我该如何解决这个问题。
非常感谢。
【问题讨论】:
标签: apache .htaccess url-rewriting