【发布时间】:2014-10-05 02:03:43
【问题描述】:
我正在尝试为我的网站上的个人资料编写一个干净的网址。例如我想要这个网址
/profile?user=MrEasyBB
成为
/MrEasyBB
我现在的htaccess 是这样开始的
Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ profile.php?user=$1 [NC,L]
DirectoryIndex index.php
如果我是正确的,这一切都应该有效。但是如果他们输入的页面网址是
/help
不应有名为help 的用户,而该页面应指向help.php。我可以写一条不遵循某种模式的规则吗?我也想知道更改图像、cmets 等的规则:
IE
/image/user/MrEasyBB/1239123871712194124.jpg
而不是
/image/picture.php?user=MrEasyBB&image=1239123871712194124.jpg
如果第一个不起作用以及如何执行第二个,我对如何添加倍数和遵循模式不肯定需要任何关于重写规则的建议?
我还下载了 htaccess 备忘单 pdf 以了解更多信息
【问题讨论】:
-
http://domain.com/image/user/MrEasyBB/1239123871712194124.jpg图片的完整路径是否正确? -
是的,它会是。会有
.../image/user/...和.../video/user/...我想遵循的模式 -
如果
http://domain.com/image/user/MrEasyBB/1239123871712194124.jpg确实是图像的正确路径,那么您的规则将不会影响此图像,因为RewriteCond %{REQUEST_FILENAME} !-f条件意味着不对有效文件执行规则。 -
不,这不是整个图像的正确路径。这是我想要遵循的正确模式。正确的路径将位于一般图像文件夹中。我只是不允许直接访问它。每说他们去
domain.com/image/1239....jpg它不会让他们访问这个。我希望这是可以理解的。我只需要 MrEasyBB 部分就可以知道 PHP 中喜欢谁的图像。虽然图像位于所有图像的部分中。 -
抱歉,目前还不清楚。请指定您要向客户显示的图像路径以及在内部可以找到这些图像的真实路径是什么?
标签: php apache .htaccess mod-rewrite url-rewriting