2010-09-28 211 views
0

对不起,我不能提出一个更好的标题。链接Duplicity问题与.htaccess和mod_rewrite

这里是我的htaccess

RewriteEngine on 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^(.*)$ $1.php [L,QSA] 

这是我的问题:

本地主机/ validpage给我本地主机/ validpage.php的内容。 本地主机/ validpage /等等也给了我同样的(validpage.php)页面也是如此本地主机/ validpage /等等/等等/ ... 所以我面临的问题是链接口是心非(我的话!)。

如何仅允许localhost/validpage.phplocalhost/validpage访问而没有其他任何内容,甚至不需要localhost/validpage.php

我也开始了关于*Server****Fault***的一个问题,但没有太多的成功。 我得到的答案是无法单独使用htaccess来完成。

通过有效页我的意思是服务器上的任何有效页。由于我使用mod_rewrite更新了一个更清洁的URL,因此我正在寻找一个相对容易的解决方案,最好只使用.htaccess。但是,欢迎任何解决方案。

回答

1

什么是你的图像的源属性等?
绝对还是相对?

<img src="/images/my.jpg" /><img src="images/my.jpg" />在应用重写规则时指向不同的文件。

+0

我可以通过这样做来解决问题。但我想知道为什么我没有得到一个404 – abel 2010-09-28 14:10:53

+0

如果答案没有意义,这是因为我已经更新了我的问题 – abel 2010-10-01 15:54:34

1

你可以尝试在你的.htaccess使用此

RewriteEngine on 
RewriteBase/

# if request has a php extension remove and redirect 
RewriteCond %{ENV:REDIRECT_STATUS} ^$ 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteCond %{REQUEST_URI} ^((.*)\.php)$ 
RewriteRule ^(.*).php$ $1 [L,R=301] 

# if request uri has no extension link to php file 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 

我应该重写你的PHP脚本友好的URL,并重定向使用PHP扩展的要求。

+0

我得到的页面在Firefox中没有正确重定向错误。 – abel 2010-10-02 10:01:36