我目前使用.htaccess文件将用户个人资料的网址“快捷”:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /gd/profile.php?username=$1
现在我想为“标签”做同样的事情。按标签时,直接转到“标签页”。为此,我在上面的代码中添加以下内容:
上的RewriteEngine
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /gd/tags.php?tag_name=$1
问题是现在配置文件不起作用。如何配置两者以便两者都不会影响另一方?
由于
答案 0 :(得分:1)
你只是用你的模式捕捉“一切” - 那么你如何期望服务器决定/foo
应该是用户档案还是标签......?
除非您想要将所有内容提供给一个脚本并使用您的数据库查找是否引用用户个人资料或代码,否则我建议您使用/user/foo
形式的网址并且/tag/foo
区分这两种类型 - 然后您可以轻松地抓住开头user/
。在这两个案例的RewriteRules中tag/
。
除了在技术上更容易实现之外,这还使您的用户能够仅查看从URL路径中获得的内容,如果您拥有用户配置文件和一个名为“foo”的标签(否则会导致问题)。