.htaccess 若目录存在,则重写规则有效
我的.htacces文件如下:.htaccess 若目录存在,则重写规则有效,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我的.htacces文件如下: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(blog)/([^/\.]+)/?$ index.php?blog=$2 RewriteRule ^(tag)/([^/\.]+)/?$ index.php?tag=$2 当我有指向/blog/blog标题的href链接时,我会得到一个404未找到,但当我单击
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(blog)/([^/\.]+)/?$ index.php?blog=$2
RewriteRule ^(tag)/([^/\.]+)/?$ index.php?tag=$2
当我有指向/blog/blog标题的href链接时,我会得到一个404未找到,但当我单击指向/tag/tag标题的href链接时,它将显示我所有带有该标记的帖子。奇怪的是,如果我在我的主目录中创建一个名为blog的文件夹,/blog/blog标题就可以了
为什么是这样?为什么我必须为blog而不是tag这样做?这些条件只适用于第一条规则。如果希望应用重写条件,则需要为每个规则重复这些条件 虽然我不确定它最初为什么不起作用,因为/blog/blot title在这两种情况下都不存在,但您并不真正需要这些条件,因为该模式具有足够的排他性。实际上,您可以只使用一条规则:
RewriteEngine On
RewriteRule ^(blog|tag)/([^/\.]+)/?$ /index.php?$1=$2 [L]
即使这样,它也会做标记,但它不会让我做博客,除非我的主目录中有一个名为blog的文件夹