我在我的 htaccess 中使用以下重写代码,但是有一个问题。
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([A-Za-z0-9-_]+)/?$ /$1.php [NC,L,QSA]
RewriteRule ^admin/([A-Za-z0-9\-]+)/?$ /admin/$1.php [NC,L]
RewriteRule ^user-profile/([A-Za-z0-9]+)/?$ /user-profile.php?view=$1 [NC,L]
机器 A:www.website.com/admin/admin.page [不工作,404] [admin.page.php 工作]
机器 B:localhost/alias/admin/admin.page [作品]
机器 A:www.website.com/user-profile/username [作品]
机器 B:localhost/alias/user-profile/username [不起作用,302] [user-profile.php?view=username works]
怎么了?
(我在一台机器上使用别名,而不是在另一台机器上)
机器A:apache 2.2.22,php 5.4.3 winxp pro
机器B:apache 2.2.22,php 5.4.3 win7 Ultimate
编辑:
127.0.0.1 - - [21/Feb/2013:11:08:32 +0100] "GET /alias/user-profile/username HTTP/1.1" 302 1373
127.0.0.1 - - [21/Feb/2013:11:08:33 +0100]“获取/别名/帐户 HTTP/1.1”302 20
127.0.0.1 - - [21/Feb/2013:11:08:33 +0100] “GET /alias/announcements HTTP/1.1”200 4157