1

页面目前可在以下地址获得:

http://www.domain.co.uk/solutions/article/page-name1
http://www.domain.co.uk/solutions/article/page-name2
http://www.domain.co.uk/solutions/article/page-name3
etc

..但我希望它们可以通过以下地址访问,以增强 SEO:

http://www.domain.co.uk/solutions/page-name1
http://www.domain.co.uk/solutions/page-name2
http://www.domain.co.uk/solutions/page-name3

所以,我想我想在站点根目录的 .htaccess 文件中使用 mod_rewrite 在每个传入页面请求的解决方案目录之后添加“文章”目录。大约一个月以来,我一直在寻找合适的答案,并且尝试学习 mod_rewrite 基础教程,但我无法为我完成这项工作,因此对另一个 mod_rewrite 问题表示歉意。

这是我目前的 .htaccess 文件:

<IfModule mod_rewrite.c>
    RewriteEngine On

    # Removes index.php
    RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /index.php/$1 [L]

    # If 404s, "No Input File" or every URL returns the same thing
    # make it /index.php?/$1 above (add the question mark)      
</IfModule>
4

2 回答 2

1

我正在我的网站上做类似的事情。这是我用来删除 index.php 并显示缩短的 url 的 .htaccess 规则:

RewriteEngine On

# Removes index.php
RewriteCond $1 !\.(css|js|gif|jpe?g|png|ico) [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1

RewriteCond %{REQUEST_URI} ^/solutions/(.*) [NC]
RewriteRule ^(.*) /solutions/article/%1 [L]

请记住,您在浏览器地址栏中看到的 URL 不是 ExpressionEngine 看到的 URL - EE 将 {segment_2} 视为“文章”。

于 2012-10-29T16:02:49.073 回答
0

编辑 :

尝试这个 :

<IfModule mod_rewrite.c>
RewriteEngine On 

RewriteCond %{REQUEST_URI} !^solutions/article/ 
RewriteRule ^solutions/(.*)$ /solutions/article/$1 [L,QSA] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !\.(gif|jpe?g|png)$ [NC] 
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>
于 2012-09-06T10:23:46.083 回答