.htaccess重写URL参数并删除PHP

时间:2013-06-28 21:32:28

标签: php html .htaccess

我正在尝试将.htaccess文件放在一起执行以下操作:

1)从from:

重写URL params
 www.domain.com/page.php?key0=val0&key1=val1 ...  

www.domain.com/page.php/key0/val0/key1/val1 ...  

2)删除.php扩展名如此
     www.domain.com/page.php变为www.domain.com/page

最终结果应为:

www.domain.com/page/key0/val0/key1/val1 ... 

我拼凑了这个.htaccess并且它满足1)和2)但它有问题。

RewriteEngine on

ErrorDocument 400 /book/ServiceUnavailable
ErrorDocument 401 /book/ServiceUnavailable
ErrorDocument 404 /book/PageNotFound
ErrorDocument 500 /book/ServiceUnavailable

#change homepage /directory
DirectoryIndex index.php index.htm

#enable gzip compression
SetOutputFilter DEFLATE 

RewriteRule ^([^/]+)/([^/]+)/([^/]+)(.*?)/?$ $1/$4?$2=$3 [L,QSA]
RewriteRule ^([^/]+)/$ $1.php [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [NC] [QSA] [L]

它有两个问题:

a)我在某些图片上以及包含的javascript文件中出现404错误。我包含直接从doc root引用它们的js文件,但是我收到404错误:GET http://localhost/book/js/vendor/modernizr-2.6.2.min.js 404 (Not Found)

b)当我在URL的末尾键入斜杠时,出现“内部服务器错误”错误:例如www.domain.com/page/导致内部服务器错误。

有人可以帮助我a),可能通过调整我的规则来排除.js,.png,.jpg等文件并修复问题b)?

谢谢!

0 个答案:

没有答案