我有一个contact_us.php文件,我希望通过ReWrite规则查看使用SEO友好URL的内容。
我只是想要有人点击网址http://domainname.com/contact_us.php
它应该继续http://domainname.com/contact-us
这就是我使用的:
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteBase /
RewriteRule ^contact-us$ /contact_us.php
redirect 301 /contact_us.php http://www.domainname.com/contact-us
当我点击网址http://domainname.com/contact-us
时,会显示webpage has a redirect loop
我在做错的地方。任何建议都会受到赞赏。
答案 0 :(得分:1)
您递归重定向页面只需将.htaccess更新为低于一,
重定向,
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteBase /
REDIRECT 301 /contact_us.php http://www.domainname.com/contact-us
重写,
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteBase /
RewriteRule ^contact-us$ /contact_us.php
答案 1 :(得分:1)
这应该有效:
Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} \s/+contact_us\.php[?/\s] [NC]
RewriteRule ^ /contact-us [R=302,L]
RewriteRule ^contact-us/?$ /contact_us.php [L,NC]
将mod_rewrite
规则与mod_alias
(redirect
指令)混合在一起并不是一个好主意。