2012-02-13 167 views
4

我最近使用htaccess更改了我的網址,以便我的網址不會顯示文件擴展名。現在我的問題是因爲我已經創建了一個新的XML網站地圖,以便我的網址將無延展!谷歌網站管理員工具告訴我重複的內容問題!即。頁面和page.html有相同的標題....所以我的問題是我如何重定向的URL與文件擴展名的URL到擴展名的URL! 這是我的網站的網址與HTML擴展名的例子將帶有html擴展名的文件重定向到無擴展名的文件(在url中)

http://www.shenazhpeyk.co.uk/coding-machines.html

我想重定向,並更改爲

http://www.shenazhpeyk.co.uk/coding-machines

,這樣將解決與谷歌網站管理員工具的問題(請給我一個在htaccess文件中使用的代碼)

很多謝謝

+0

另請參閱http://stackoverflow.com/questions/9250356/how-to-redirect-file-php-to-file-but-make-file-point-to-file-php/9250387 – Gerben 2012-02-13 15:01:14

回答

0

嘗試將以下內容添加到網站根目錄中的.htaccess文件中,並使用.html擴展名重定向網址並將其刪除。

RewriteEngine on 
RewriteBase/

#redirect to remove the .html extension 
RewriteRule ^(.+)\.html$ $1 [L,NC,R=301] 
+0

感謝您的回覆但我得到以下錯誤:頁面無法正常重定向這是我從之前已經和它的工作原理,但它不會重定向HTML頁面未擴展那些RewriteEngine敘述在 的RewriteCond%{} REQUEST_FILENAME -f 重寫規則^! ([^ \。] +)$ $ 1.html [NC,L] – 2012-02-13 17:10:23

+0

耶!找到解決方案! – 2012-02-13 17:29:51

+2

我找到了解決方案,以防其他人遇到同樣的問題!大聲笑! 選項+了FollowSymLinks -MultiViews DirectorySlash關 RewriteEngine敘述在 的RewriteCond%{SCRIPT_FILENAME}/-d 的RewriteCond%{SCRIPT_FILENAME} .HTML!-f 重寫規則[^ /] $%{REQUEST_URI}/[R = 301 ,L] 的RewriteCond%:(+)。{ENV REDIRECT_STATUS}^$ 重寫規則^ \ HTML $/$ 1 [R = 301,L] 的RewriteCond%{SCRIPT_FILENAME} html的-f 重寫規則[^/] $%{REQUEST_URI}的.html [QSA,L] 注:不知道這是否是正確的,但它的工程! – 2012-02-13 17:34:36

1

試試這個:

Options +FollowSymLinks -MultiViews 
DirectorySlash Off 

RewriteEngine On 

RewriteCond %{SCRIPT_FILENAME}/ -d 
RewriteCond %{SCRIPT_FILENAME}.html !-f 
RewriteRule [^/]$ %{REQUEST_URI}/ [R=301,L] 

RewriteCond %{ENV:REDIRECT_STATUS} ^$ 
RewriteRule ^(.+)\.html$ /$1 [R=301,L] 

RewriteCond %{SCRIPT_FILENAME}.html -f 
RewriteRule [^/]$ %{REQUEST_URI}.html [QSA,L] 
1

發現這個代碼。不知道它是否會完成同樣的事情。似乎爲我工作,就像上面的那個(對於PHP)。

RewriteEngine On 

# Unless directory, remove trailing slash 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/$ /$1 [R=301,L] 

# Redirect external .php requests to extensionless url 
RewriteCond %{THE_REQUEST} ^(.+)\.php([#?][^\ ]*)?\ HTTP/ 
RewriteRule ^(.+)\.php$ /$1 [R=301,L] 

# Resolve .php file for extensionless php urls 
RewriteRule ^([^/.]+)$ $1.php [L] 

我想知道後面的斜槓是否應該在那裏或省略?

+0

我知道,我是一個遲到了,但你可以請你如何將它重定向到沒有文件擴展名的頁面?我真的很喜歡你的代碼,現在正在使用它。 – 2016-10-04 02:27:38