简体   繁体   English

带有htaccess重定向的php页面不起作用

[英]php pages with htaccess redirect not working

I'm trying to redirect non-www to www on my php site and keep urls clean without having to link to .php pages. 我正在尝试将非www重定向到我的php网站上的www,并保持URL干净,而不必链接到.php页面。

When I employ a suggested redirect for non-www to www below, the page links no longer go to proper pages. 当我建议将非www重定向到下面的www时,页面链接不再转到正确的页面。 For example: I have a page1.php and when I link to domain.com/page1 (without .php) that page will no longer load. 例如:我有一个page1.php,当我链接到domain.com/page1(不带.php)时,该页面将不再加载。 How can I fix this? 我怎样才能解决这个问题? Do I have to modify all links and add page extention (.php) for links to work? 我是否需要修改所有链接并添加页面扩展(.php)才能使链接正常工作?

htaccess I'm using: 我正在使用的htaccess:

RewriteEngine On RewriteEngine开

#This bit rewrites your host name to include www
RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,NC,L]

#This bit does the codeigniter magic
RewriteCond %{REQUEST_FILENAME} !-f  
RewriteCond %{REQUEST_FILENAME} !-d  
RewriteRule ^(.*)$ /index.php/$1 [L]

I found the answer! 我找到了答案!

RewriteEngine On
RewriteBase /
#Rewrite bare to www
RewriteCond %{HTTP_HOST} ^example.com [NC] 
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [NC,L]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM