捕获get变量和尾部斜杠时出现Htaccess错误
【腾讯云】亏本大甩卖,服务器4核16G 1年370元(带宽12M,系统盘120GB SSD盘,月流量2000GB)!!!!!!
云产品 配置 价格
服务器 1核2G,带宽5M,系统盘50GB SSD盘,月流量500GB 38元/年
MySQL 1核1G 19元/年
服务器 16核32G,带宽18M,系统盘250GB SSD盘,月流量5000GB 1197元/年
点我进入腾讯云,查看更多详情

I have the following in my .htaccess file

    # Use PHP5 Single php.ini as default
    AddHandler application/x-httpd-php5s .php

    Options -Indexes


    # preserve bandwidth for PHP enabled servers
    <ifmodule mod_php4.c>
     php_value zlib.output_compression 16386
    </ifmodule>

    # For security reasons, Option followsymlinks cannot be overridden.
    #Options +FollowSymLinks
    Options +SymLinksIfOwnerMatch
    RewriteEngine On
    RewriteRule ^faq/?$ faq.php
    RewriteRule ^about/?$ about.php
    RewriteRule ^portfolio/(.*)$ portfolio.php?p=$1

            #Error Page___NOT found
    ErrorDocument 404 /notfound.php

My portfolio only contains the sections "celebrity","weddings" and "industrial" i.e. only the following pages are valid portfolios:

    mysite.com/portfolio/celebrity
    mysite.com/portfolio/weddings
    mysite.com/portfolio/industrial

I'm having problems with the "portfolio" page in certain situations: When i visit

    "mysite.com/portfolio/celebrity"
    "mysite.com/portfolio/weddings"
    "mysite.com/portfolio/industrial"

everything works fine.If, however, i visit

    "mysite.com/portfolio/celebrity/"
    "mysite.com/portfolio/weddings/"
    "mysite.com/portfolio/industrial/"

(notice the trailing slash),Firefox gives me the following error

    Firefox has detected that the server is redirecting the request for this address in a way that will never complete.

I've tried replacing the last line with

    RewriteRule ^portfolio/(.*)/?$ portfolio.php?p=$1

which doesn't help either, and displays the aforementioned error.

Visiting

    "mysite.com/portfolio/some-non-existent-portfolio"

OR

    "mysite.com/portfolio/some-non-existent-portfolio/"

doesn't redirect to "notfound.php"

#0

Ok, solved it thanks to this webpage : http://www.phpfreaks.com/forums/index.php?topic=167839.0

I changed the relevant line to

    RewriteRule ^portfolio/([a-zA-Z]+)/?$ portfolio.php?p=$1

Now everything works perfectly, including showing 'notfound.php' when portfolio type visited is a non-existent one. Hope this helps somebody.

推荐文章

Android之SQLite数据库的使用

Android之SQLite数据库的使用

推荐文章

SQLite权威指南---SQLite介绍

SQLite权威指南---SQLite介绍

推荐文章

Windows 中SQLite3 使用(2) -- 基本导出函数

Windows 中SQLite3 使用(2) -- 基本导出函数

推荐文章

sqlite中text类型的比较规则

sqlite中text类型的比较规则

推荐文章

嵌入式SQLite数据库的构建

嵌入式SQLite数据库的构建

推荐文章

【原创】SQLite学习笔记

【原创】SQLite学习笔记

推荐文章

ios sqlite 的使用

ios sqlite 的使用

推荐文章

android sqlite insert数据出现异常

android sqlite insert数据出现异常

推荐文章

SQLiteDatebase--- android数据库操作出现错误了

SQLiteDatebase--- android数据库操作出现错误了

推荐文章

android sd卡读取数据库

android sd卡读取数据库

推荐文章

1. SQLite 概要

1. SQLite 概要

推荐文章

Java乔晓松-使用ContentProvider共享数据--传说中的卧底

Java乔晓松-使用ContentProvider共享数据--传说中的卧底

推荐文章

ContentProvider操作SQLite数据库实例

ContentProvider操作SQLite数据库实例

推荐文章

SQLite3数据库操作:建库,建表,添加,查询,修改,删除

SQLite3数据库操作:建库,建表,添加,查询,修改,删除

推荐文章

Using ODB on Mobile and Embedded Systems

Using ODB on Mobile and Embedded Systems

推荐文章

关于 Java ORM 框架 Orman 的简单应用

关于 Java ORM 框架 Orman 的简单应用