我想将此URLhttp://www.example.com/blog/Title-here
重定向到我的blog.php
页面
请注意,Title-here
可以是任何东西。
我该怎么做?
我试着跟随,但没有效果。
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^blog/(.*)/?$ blog.php [NC,L]
我不知道为什么。
以下是我完整的.htaccess代码,可能是这里的问题。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/(.*)/(.*)/?$ product.php [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/(.*)/?$ results.php [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/?$ results.php [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^blog/(.*)/?$ blog.php [NC,L]
ErrorDocument 404 http://www.example.com/404.php
对于您显示的示例,您可以尝试以下操作吗。由于您使用的是非常通用的regex(没有给出任何uri条件(,因此它没有达到您的博客页面的最后一条规则。把它作为你的第一条规则,如下所示。我还修复了所有现有规则中的正则表达式。
请确保在测试URL之前清除浏览器缓存。
###Making Rewriteengine ON here.
RewriteEngine ON
##Placing rule for URIs starting from blog here.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^blog blog.php [NC,L]
##Placing rule for url like: http://localhost:80/test1/test2/test3
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(?:[^/]*)/(?:[^/]*)/(?:.*)/?$ product.php [L]
##Placing rule for url like: http://localhost:80/test1/test2
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(?:[^/]*)/(?:.*)/?$ results.php [L]
##Placing rule for url like: http://localhost:80/test1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ results.php [L]
ErrorDocument 404 http://www.example.com/404.php