url使用htaccess重定向和重写

时间:2012-08-08 19:18:33

标签: apache .htaccess url url-rewriting

我尝试将动态网址重写为SEO url.i为此创建了htaccess代码但问题是当用户输入地址时 http://example.com/anoop http://example.com/anoop/vvv http://example.com/anoop/vvv/kkk 然后它将转到错误页面。最后我决定在每个目录中自动添加反斜杠。我为此创建了htaccess代码

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/(.*[^/]+)$ /$1/ [R=301,L] 
RewriteRule ^([^/]*)/$ /?cat=$1 [L]
RewriteRule ^([^/]*)/([^/]*)/$ /?cat=$1&sub=$2 [L]

但现在自动将反斜杠添加到 http://example.com/anoop/ 。但我想添加反斜杠,如果不存在反斜杠

例如

http://example.com/anoop/activity -     http://example.com/anoop/activity/
http://example.com/anoop/act/page -     http://example.com/anoop/act/page/

现在 http://example.com/anoop/activity 会被重定向到错误页面。请帮我任何人重写程序

1 个答案:

答案 0 :(得分:0)

我不确定我是否理解这个问题。你想添加一个反斜杠?它看起来像是有效的!您是如何尝试重写URL的?如果重写Web应用程序的URL,Web应用程序将必须处理URL并相应地显示数据。您是在重写Web应用程序或静态网站的URL吗?

修改

这是Wordpress如何做到的。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
</IfModule>