mod_rewrite问题,访问文件?

时间:2010-10-31 05:12:25

标签: php url .htaccess mod-rewrite

我的文件位于名为sumbit.php

的根文件夹中

当我为这样的页面访问

 http://www.example.com/viewtopic.php?topic=14

新网址

http://www.example.com/topic/14

在firebug上说它访问http://www.example.co.uk/topic/submit.php,当它打算访问http://www.example.co.uk/submit.php

我的.htaccess代码

RewriteEngine On

RewriteRule ^user/([^/]*)$ /viewprofile.php?user=$1 [L]
RewriteRule ^topic/([^/]*)$ /viewtopic.php?topic=$1 [L]

我似乎没有看到问题是什么,p.s。 sumibit.php来自表单提交操作

2 个答案:

答案 0 :(得分:1)

这种情况正在发生,因为HTML中的submit.php链接正在使用相对路径。相对路径取决于您当前所在的目录。因此,当您向URL添加斜杠时,它会全部搞乱。

您应修改HTML以使用绝对路径(/submit.php)。如果无法做到这一点,请编写一个新的重写规则,将^.*/submit.php$映射到正确的路径。

答案 1 :(得分:0)

这是一个我知道的老线程,但是......我认为用户(OP)之后的实际地址是隐藏真实地址... /克隆...隐藏原始路径?...

所以:

Options +FollowSymLinks
RewriteEngine on
RewriteBase /
#my url is in the form of domain.com/photograph/GALLERY/IMAGE NUMBER
RewriteRule ^photograph/(.*)/(.*)$  /albums/index.php?op=large&gallery=$1&curImage=$2&rd=ht [QSA,L]