我对.htaccess很新,只是在php中学习一些高级技术。我目前正在一个PHP网站上试图挑战我的技能,我正在尝试实现.htaccess重写网址为seo友好。我遇到的困难是,当用户点击语言超链接时,可用的相册'应该显示该特定语言的详细信息,我使用GET方法将用户选择发布到同一页面(专辑)。如果最好的话,我可以为每种语言设置单独的页面。顺便说一句,我用Justhost托管我的网站。
正常方法:
www.site.co.uk/albums - **page**
<li > <a href="albums.php?selection=tamil/"> TAMIL </a> </li> - **hyperlink**
<li> <a href="/albums.php?selection=tamil&cat=featured" >Featured </a></li>
结果:显示泰米尔语专辑内容......这很好......
我想为SEO做些什么,
www.site.co.uk/albums.php?selection=language **URL to be rewritten**
www.site.co.uk/albums/tamil/ ->>> **Expected result**
<li > <a href="albums/tamil/"> TAMIL </a> </li> - HTML CODE in album page
我想使用&#39; /&#39;如果可能,在分离的URL中。当我点击“TAMIL”时,我收到404错误。超链接。 (自定义错误页面)。
请查看我目前正在使用的.htaccess。
#Use PHP5.4 as default
AddHandler application/x-httpd-php54 .php
RewriteBase /
# Prevent Directoy listing
Options -Indexes
RewriteEngine On
# For security reasons, Option followsymlinks cannot be overridden.
#Options +FollowSymLinks
Options +SymLinksIfOwnerMatch
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.php [NC,L]
# Specify search friendly URLs
RewriteRule ^albums/(.*)/$ albums.php?selection=$1
ErrorDocument 400 /error.php?code=400
ErrorDocument 401 /error.php?code=401
ErrorDocument 403 /error.php?code=403
ErrorDocument 404 /error.php?code=404
ErrorDocument 500 /error.php?code=500
我真的很感激,你的建议,建议和意见,我希望我能清楚地知道我打算做什么。 非常感谢所有人..
答案 0 :(得分:0)
您需要重新安排规则。将首先应用相册上方的规则。尝试:
#Use PHP5.4 as default
AddHandler application/x-httpd-php54 .php
RewriteBase /
# Prevent Directoy listing
Options -Indexes
RewriteEngine On
# For security reasons, Option followsymlinks cannot be overridden.
#Options +FollowSymLinks
Options +SymLinksIfOwnerMatch
# Specify search friendly URLs
RewriteRule ^albums/(.+)/$ albums.php?selection=$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.php [NC,L]
ErrorDocument 400 /error.php?code=400
ErrorDocument 401 /error.php?code=401
ErrorDocument 403 /error.php?code=403
ErrorDocument 404 /error.php?code=404
ErrorDocument 500 /error.php?code=500