【发布时间】:2014-11-10 06:57:53
【问题描述】:
我已经能够设置 .htaccess 以在我的网站上启用虚 URL。但是,当我尝试清理我网站上的其他网址时遇到了问题。我会在下面给出场景和我当前的 .htaccess:
目前 wwww.mywebsite.com/john 重定向到 profile.php?user=john。在 profile.php 中,我检查用户 john 是否存在于我的数据库中,如果为 false 我重定向到自定义 404.php 页面。这工作得很好。当我尝试将 wwww.mywebsite.com/photo/abcdefg 解释为 www.mywebsite.com/photo.php?m=abcdefg 时,问题就出现了。出于某种原因,它认为照片是用户的名字,然后将其重写,就好像它是一个虚荣的 url。请在下面查看我的 .htaccess 文件代码:
ErrorDocument 404 http://www.mywebsite.com/404
RewriteEngine on
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.php [NC]
RewriteRule ^([^\.]+)$ profile.php?username=$1 [L]
RewriteCond %{HTTP_HOST} ^(.*)$ [NC]
RewriteCond %{HTTP_HOST} !^(.*)\.(.*)\. [NC]
RewriteRule ^ HTTP%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
【问题讨论】:
-
您应该有
www.mywebsite.com/profile/john和www.mywebsite.com/photo/m类型的虚 URL。
标签: .htaccess