PHp隐藏扩展名的问题,应该如何设置? 如htt://www.domain.com/member/list.php?id=333映射成http://www.domain.com/member/list/333应该如何设置Apache 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 书上说这样写可以<Directory content> AcceptPathInfo on <Files filename> ForceType application/x-httpd-php </Files></Directory>可我这样写了,却不起作用啊应该怎么设置 #你的句子意思是把目录下的所有文件解析为Php.AddType application/x-httpd-php .do #添加.do为需要Php解析的文件.RewriteEngine OnRewriteRule (.*?)\.html$ $1.do #.html改写为.do也就是说 .html指向了.do.RewriteRule (.*?)\.php$ $1.mamama #.php改写为.mamama就是个不存在的文件. #如htt://www.domain.com/member/list.php?id=333 #映射成http://www.domain.com/member/list/333 RewriteEngine OnRewriteRule ^/member/list/([0-9]*?)$ /member/list.php?id=$1没测试自己搞~Apache的rewrite_module必须开启. SysTem128 你可能没理解我的意思我的意思是说把.php扩展名隐藏掉,把参数映射成目录的一部分#如htt://www.domain.com/member/list.php?id=333 #映射成http://www.domain.com/member/list/333 我之所以这样做是想一给用户一个友好的URL,二是想迷惑一下想搞破坏的人,让他们不知道是什么语言写的,不知道这是个目录还是路径这个我只是举了一个简单的例子,各位讲解的时候不要局限在member list这些局限住在网上搜索了很多资料,好多是用RewriteEngine 但这样增加了服务器负担,书上说用这样的方法配置APACHE<Directory content> AcceptPathInfo on <Files filename> ForceType application/x-httpd-php </Files> </Directory> 但是不起作用,那位了解这方面知识,请讲解一下 给你说了 你那句ForceType是把目录下的所有文件按照Php文件进行解析.你可以把文件后缀改成 .do什么的.比如 index.php -> index.do然后AddType application/x-httpd-php .do这样就可以使用 index.do 正常浏览了.#如htt://www.domain.com/member/list.php?id=333 #映射成http://www.domain.com/member/list/333 这只能使用Rewrite.Rewrite的规则也已经给你了.是你自己没理解那些句子的意思.自己看Apache手册去. 一般地址栏的地址是这样的,如下:www.domain.com/member/list/post.php?id=333&k=sssss我的意思是将.php扩展名隐藏掉,将参数部分(id=333&k=sssss)转成目录的一部分,如下:www.domain.com/member/list/post/333/sssssApache会按此路径搜索,因为/333/sssss是不存在的,而post存在,实际是post.php,那么Apache会将/333/sssss付给PATH_INFO这个全局变量,我们获取它进行必要处理我这样做的目的一是给用户给搜索引擎一个友好的URL,二是给想搞破坏的人一种假像,虽然这样做可能对高手无济于事,但至少可以阻挡一般人的,多少会起作用书上说在httpd.conf这样配置就可以实现,如下:<Directory content> AcceptPathInfo on <Files filename> ForceType application/x-httpd-php </Files> </Directory>但我这样配置了,不起作用,网上查资料说用到.htaccess文件,但Apache文档中不提倡用此文件,会影响服务器性能,而且在.htaccess中的配置放到httpd.conf中是一样的请各位指点一下,应该怎么作,请各位在讲解的时候不要局限在我给的这个目录,这只是个例子,用来说明我的问题,应该有个能用的方法,一个网站中的目录\文件多了,不可能针对每个文件都作解析吧?不知道各位能明白否? 实际大家可以看下CSDN,也就是本站的搜索,当在搜索框中输入关键字点搜索,注意看地址栏的变化,它就用了我说的方法友好URL,如下:在搜索框中输入Apache,地址栏是这样的:http://search.csdn.net/search/Apache/1/lt/在搜索框中输入tomcat,地址栏是这样的:http://search.csdn.net/search/tomcat/1/lt/我觉得这是一种很好的方法,请各位指点一下查了放多资料,都不是很明白 学习了!我没试过!<Directory content> \\定议content下目录所有文件解析规则 AcceptPathInfo on \\不知道是什么意思 <Files filename> \\定议content目录下的所有filename文件的解析规则 ForceType application/x-httpd-php \\具体定义 \\当然也可以在这里定议重定向,这个楼上几位都说 </Files> \\当然也可以在这里定议重定向,这个楼上几位都说</Directory> AcceptPathInfo on ForceType application/x-httpd-php RewriteEngine On等为具体指令!请查apache手册! 谢谢各位的讲解,基本上明白了昨天看了一晚上APACHE手册(英文的,看的是一知半解,呵..),通过重定向解决了我的问题,但新问题又来了CSS和IMAGES全都不能用了! 还是用.htaccess 不觉的占内存呢 关于数组下边赋值问题 如何实现文件先加密,再上传? 我在做全文查询是出现这样的错误Can't find FULLTEXT index matching the column list 问正则表达式匹配超链接方法 php json转数组出错求助 php5.0.4中文版php.ini 第二部分(语言选项) MYSQL中UTF8和GB2312的问题 file函数的问题?多谢! 如何编写论坛程序呀? 定时推送功能的实现 varchar(500)这样的列定义有没有实际效果呢? 函数里面要用到一个已经实例化的对象,难道做不到?
<Directory content>
AcceptPathInfo on
<Files filename>
ForceType application/x-httpd-php
</Files>
</Directory>可我这样写了,却不起作用啊
应该怎么设置
#你的句子意思是把目录下的所有文件解析为Php.
AddType application/x-httpd-php .do #添加.do为需要Php解析的文件.
RewriteEngine On
RewriteRule (.*?)\.html$ $1.do #.html改写为.do也就是说 .html指向了.do.
RewriteRule (.*?)\.php$ $1.mamama #.php改写为.mamama就是个不存在的文件.
#如htt://www.domain.com/member/list.php?id=333
#映射成http://www.domain.com/member/list/333
RewriteEngine On
RewriteRule ^/member/list/([0-9]*?)$ /member/list.php?id=$1
没测试自己搞~
Apache的rewrite_module必须开启.
我的意思是说把.php扩展名隐藏掉,把参数映射成目录的一部分#如htt://www.domain.com/member/list.php?id=333
#映射成http://www.domain.com/member/list/333 我之所以这样做是想一给用户一个友好的URL,二是想迷惑一下想搞破坏的人,让他们不知道是什么语言写的,不知道这是个目录还是路径这个我只是举了一个简单的例子,各位讲解的时候不要局限在member list这些局限住在网上搜索了很多资料,好多是用RewriteEngine 但这样增加了服务器负担,书上说用这样的方法配置APACHE<Directory content>
AcceptPathInfo on
<Files filename>
ForceType application/x-httpd-php
</Files>
</Directory> 但是不起作用,那位了解这方面知识,请讲解一下
比如 index.php -> index.do
然后
AddType application/x-httpd-php .do
这样就可以使用 index.do 正常浏览了.#如htt://www.domain.com/member/list.php?id=333
#映射成http://www.domain.com/member/list/333 这只能使用Rewrite.
Rewrite的规则也已经给你了.是你自己没理解那些句子的意思.自己看Apache手册去.
www.domain.com/member/list/post.php?id=333&k=sssss
我的意思是将.php扩展名隐藏掉,将参数部分(id=333&k=sssss)转成目录的一部分,如下:
www.domain.com/member/list/post/333/sssss
Apache会按此路径搜索,因为/333/sssss是不存在的,而post存在,实际是post.php,那么Apache会将/333/sssss付给PATH_INFO这个全局变量,我们获取它进行必要处理
我这样做的目的一是给用户给搜索引擎一个友好的URL,二是给想搞破坏的人一种假像,虽然这样做可能对高手无济于事,但至少可以阻挡一般人的,多少会起作用书上说在httpd.conf这样配置就可以实现,如下:
<Directory content>
AcceptPathInfo on
<Files filename>
ForceType application/x-httpd-php
</Files>
</Directory>
但我这样配置了,不起作用,网上查资料说用到.htaccess文件,但Apache文档中不提倡用此文件,会影响服务器性能,而且在.htaccess中的配置放到httpd.conf中是一样的请各位指点一下,应该怎么作,请各位在讲解的时候不要局限在我给的这个目录,这只是个例子,用来说明我的问题,应该有个能用的方法,一个网站中的目录\文件多了,不可能针对每个文件都作解析吧?不知道各位能明白否?
友好URL,如下:
在搜索框中输入Apache,地址栏是这样的:http://search.csdn.net/search/Apache/1/lt/
在搜索框中输入tomcat,地址栏是这样的:http://search.csdn.net/search/tomcat/1/lt/我觉得这是一种很好的方法,请各位指点一下
查了放多资料,都不是很明白
<Directory content> \\定议content下目录所有文件解析规则
AcceptPathInfo on \\不知道是什么意思
<Files filename> \\定议content目录下的所有filename文件的解析规则
ForceType application/x-httpd-php \\具体定义
\\当然也可以在这里定议重定向,这个楼上几位都说
</Files>
\\当然也可以在这里定议重定向,这个楼上几位都说
</Directory>
RewriteEngine On
等为具体指令!请查apache手册!
昨天看了一晚上APACHE手册(英文的,看的是一知半解,呵..),通过重定向解决了我的问题,但新问题又来了
CSS和IMAGES全都不能用了!