在以下网站上:http: //htaccess.madewithlove.be/
填写请求网址:http://localhost/prefix/games/u_id/game-name
把它放在 htaccess 区域:
RewriteEngine On
RewriteBase /prefix
# stop directory listings
Options -Indexes
#stops htaccess views
<Files .htaccess>
order allow,deny
deny from all
</Files>
# redirect game folders
RewriteRule ^prefix/games/(.*)$ prefix/protected/files/$1 [L]
# remove .php; use THE_REQUEST to prevent infinite loops
RewriteCond %{THE_REQUEST} ^GET\ (.*)\.php\ HTTP
RewriteRule (.*)\.php$ $1 [R=301]
# remove index
RewriteRule (.*)/index$ $1/ [R=301]
# remove slash if not directory
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} /$
RewriteRule (.*)/ $1 [R=301]
# add .php to access file, but don't redirect
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_URI} !/$
RewriteRule (.*) $1\.php [L]
ErrorDocument 404 /prefix/error-404.php
结果出来为:http://localhost/prefix/protected/files/u_id/game-name
现在,如果我将该 htaccess 文件放在我的 wamp localhost 服务器上并转到与我们在该站点上输入请求 url 相同的 url。它返回 404 page not found... 但是如果我从测试站点(上面的那个)访问结果页面,它会加载那里的 index.php 页面。
重定向不适用于我的本地主机网站。有任何想法吗?htaccess 文件肯定正在运行。
编辑::///
我的 Apache 访问日志正在输出:
127.0.0.1 - - [25/Apr/2012:18:44:02 +0100] "GET /prefix/games/u_id/game-name HTTP/1.1" 404 116
127.0.0.1 - - [25/Apr/2012:18:44:02 +0100] "GET /favicon.ico HTTP/1.1" 404 209
编辑::///
解决了。