【发布时间】:2017-01-23 16:11:04
【问题描述】:
我想使用 .htaccess 配置重定向。这部分工作。
当我打开页面时: www.example.com/workflow -> 一切正常
当我打开页面时: example.com/workflow -> 重定向到 www.example.com/workflow.php 但它应该重定向到 www.example.com/workflow(因为重复的内容)
我的配置错误在哪里?有人可以帮帮我吗?
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
RewriteCond %{THE_REQUEST} index\.php [NC]
RewriteRule ^index\.php$ http://www.example.com/ [NC,R=301]
Redirect /facebook https://www.facebook.com/example/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^workflow/$ workflow.php [L]
【问题讨论】:
-
在 www 重定向之后,[L] 标志会导致 mod_rewrite 停止处理规则集。
-
所以你要实现 URL 规范化?只是想确保我正确理解了您的问题。
-
规则应该可以正常工作。也许还有其他规则,或者您的顺序与问题中显示的不同。
-
我希望唯一正确的 URL 是:www.example.com/workflow。用户插入哪个 URL 无关紧要。 example.com/workflow 或 www.example.com/workflow 我已经进一步 RewriteRules 之类的工作流,但他们有同样的问题
-
尝试清除浏览器缓存。你的规则对我来说很好。
标签: php apache .htaccess redirect url-rewriting