php - htaccess 在不同的机器上表现不一样

标签 php apache .htaccess mod-rewrite

我在我的 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]

machine A: www.website.com/admin/admin.page [doesn't works, 404] [admin.page.php works]

machine B: localhost/alias/admin/admin.page [works]

machine A: www.website.com/user-profile/username [works]

machine B: localhost/alias/user-profile/username [doesn't works, 302] [user-profile.php?view=username works]

怎么了?

(我在一台机器上使用别名,而在另一台机器上不使用)

machine A: apache 2.2.22, php 5.4.3 winxp pro

machine 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] "GET /alias/account HTTP/1.1" 302 20

127.0.0.1 - - [21/Feb/2013:11:08:33 +0100] "GET /alias/announcements HTTP/1.1" 200 4157

最佳答案

RewriteRule ^admin/admin.([A-Za-z0-9\-]+)/?$ /admin/admin.$1.php [NC,L]

修复了管理部分,现在我需要修复配置文件部分..

关于php - htaccess 在不同的机器上表现不一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14999056/

相关文章:

ruby - 进入域后如何配置静默登录Redmine?

php - Laravel 5.6 Eloquent ORM where 连接表

php - 我如何在 PHP 旁边使用 HTML5 本地存储,将其用于 php session ,并存储 php 使用的其他信息

mysql - dockerfile - 无法连接错误

php - .htaccess 重写以问号开头的请求 url

php - 在终端中删除多个文件的命令 - CPanel、共享主机感染病毒

regex - 使用特殊字符重写 URL

php - Laravel 5.2 关注用户系统

php - 如何在 Codeigniter 中仅显示模型的前 100 个字符

mysql - 在端口 80 上运行 mamp 时建立数据库连接时出错