2014-02-26 58 views
1

我需要从我的网站上的所有网址中删除.php,如果有人输入完整的网址,它需要重定向到php-extension-free版本。例如:如何从所有网址中删除.php而没有结尾的斜杠?

website.com/about.php -> website.com/about 

我需要做的这是搜索引擎友好的方式成为可能,所以我猜这将是一个301重定向,以便谷歌和其他人知道该页面在新的PHP的新位置-extension-free URL。任何DUP的内容也必须要避免的,所以这是很重要的页面是不是在新旧和URL访问,这是,如果我所做的只是一个简单的会发生什么:

RewriteRule about about.php [L] 

我我们已经看到了许多.htaccess方法,但它们似乎都为URL添加了一个斜线。重要的是,这不会发生。

此外,我有一个明确的HTTPS重定向发生几页,我需要确保我不创建一个重定向循环。以下是当前将这些网页重定向到HTTPS的代码。

RewriteCond %{HTTPS} off 
RewriteRule ^(quote|quote_2).php$ https://website.com/$1.php [R=301,L,QSA] 
RewriteCond %{HTTPS} on 
RewriteCond %{REQUEST_URI} !^/(quote|quote_2).php 
RewriteCond %{REQUEST_URI} !^/(.*)\.(css|png|js|jpe?g|gif|bmp|woff|svg|map)$ 
RewriteRule ^(.*)$ http://website.com/$1 [R=301,L,QSA] 
+1

我没有在这里看到的问题。如果你需要它,雇用一名程序员 – kero

+0

这个问题是一个明确的问题,并且类似于本网站上大多数其他问题。我需要一个特定的期望行为,并发布了我目前使用的代码,但未能产生上述行为。 – Jeremy

+0

通常问题以'?'结尾。 – NobleUplift

回答

1

你可以在你的根的.htaccess使用此代码:

RewriteEngine On 

RewriteCond %{THE_REQUEST} \s/+(?:index)?(.*?)\.php[\s?] [NC] 
RewriteRule^/%1 [R=301,L,NE] 

RewriteCond %{HTTPS} off 
RewriteRule ^(quote|quote_2)/?$ https://%{HTTP_HOST}/$1 [R=301,L] 

RewriteCond %{HTTPS} on 
RewriteCond %{REQUEST_URI} !^/(quote|quote_2) 
RewriteCond %{REQUEST_URI} !\.(css|png|js|jpe?g|gif|bmp|woff|svg|map)$ 
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{DOCUMENT_ROOT}/$1.php -f [NC] 
RewriteRule ^(.+?)/?$ /$1.php [L] 
+0

太好了,谢谢!另一个简单的问题是:我明确地将几个特定的​​页面重定向到https,并且在与上述结合时导致重定向循环。这是我的代码:'RewriteCond%{HTTPS} off RewriteRule ^(quote | quote_2).php $ https://lawnlove.com/$1.php [R = 301,L,QSA] RewriteCond%{HTTPS} RewriteCond%{REQUEST_URI}!^ /(quote | quote_2).php RewriteCond%{REQUEST_URI}!^ /(。*)\。(css | png | js | jpe?g | gif | bmp | woff | svg | map)$ RewriteRule ^(。*)$ http://lawnlove.com/$1 [R = 301,L,QSA]' – Jeremy

+0

难以阅读评论中的代码,你可以在你的问题中发布它编辑它。 – anubhava

+0

当然,我只是更新它。 – Jeremy

0

下面的答案可以发现here

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 
相关问题