我正在网站上工作,我遇到的一个大问题是:
(注意:这里的关键是它可以为无数个子文件夹或页面工作,只要它的根域相同)
现在这就是我所拥有的:
<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但是当我有一个像[{3}}这样的例外的网址时,它会将网址更改为http://example.com/css。
< / LI> 醇>请问我该如何解决这个问题。
非常感谢你。
答案 0 :(得分:0)
你必须将你的条件和重写规则分开:
对于www子域名:
RewriteCond %{HTTP_HOST} ^www.example.tld$
RewriteRule ^(.*) http://example.tld/$1 [QSA,R=301]
然后进行QSA重定向,除非该文件存在:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ employers/page.php?page=$1 [L]