Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php htaccess使用mod_重写自定义url列表_Php_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Php htaccess使用mod_重写自定义url列表

Php htaccess使用mod_重写自定义url列表,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,我已使用.htaccess成功地使用自定义、干净的URL屏蔽URL,其样式为域顶级的子目录: normal.htaccess配置(工作) 给我: /页码/主题 /页面 现在,在为不同的PHP文件使用特定部署时,我想为所述部署创建子集目录,如所示: 所需的附加配置(不工作-抛出500个错误) 给我: /手机/页面/主题 /手机/网页 我试着把[QSA,L]改成[NC,L],什么都没有。有什么想法吗?非常感谢您的帮助!:)提前感谢。此规则会导致无休止的循环: RewriteRule ^([^/]+)

我已使用.htaccess成功地使用自定义、干净的URL屏蔽URL,其样式为域顶级的子目录:

normal.htaccess配置(工作) 给我:

/页码/主题

/页面

现在,在为不同的PHP文件使用特定部署时,我想为所述部署创建子集目录,如所示:

所需的附加配置(不工作-抛出500个错误) 给我:

/手机/页面/主题

/手机/网页


我试着把[QSA,L]改成[NC,L],什么都没有。有什么想法吗?非常感谢您的帮助!:)提前感谢。

此规则会导致无休止的循环:

RewriteRule ^([^/]+)$ /index.php?page=$1 [QSA]
你需要在他面前加上一些限制。 下面是您的重写调用堆栈:

附言。
没关系,我忘了创建了mobile.php,我得到了重写循环,很抱歉。

这个规则会导致无休止的循环:

RewriteRule ^([^/]+)$ /index.php?page=$1 [QSA]
你需要在他面前加上一些限制。 下面是您的重写调用堆栈:

附言。
没关系,我忘了创建了mobile.php,我得到了重写循环,很抱歉。

应该是
RewriteRule^([^/]+)mobile/…
?不是为我做的。。。我正在遵循我为提供图像而进行的另一次重写的逻辑:
RewriteRule^images/([^/]+)/(.*)\(jpg | png | jpeg | gif)$/images/index.php?image=$2&res=$1&ext=$3[NC,L]
不应该是
RewriteRule^([^/]+)mobile/…
?不应该为我这么做。。。我正在遵循我为提供图像而进行的另一次重写的逻辑:
RewriteRule^images/([^/]+)/(.*)\(jpg | png | jpeg | gif)$/images/index.php?image=$2&res=$1&ext=$3[NC,L]
它就在那里:
RewriteCond%{REQUEST\u FILENAME}-f RewriteRule^-[L]
,这已经起作用了。。。谢谢,tho!不可以。这个重写只适用于RewriteRule^-[L]。
RewriteCond%{REQUEST_FILENAME}-f RewriteRule^-[L]RewriteRule^([^/]+)/([^/]+)$/index.php?page=$1&subject=$2[QSA]RewriteRule^([^/]+)$/index.php?page=$1[QSA,L]
这是有效的…我正在寻找一个有基本名称的不同类型的实例的答案,像“mobile”一样,请注意上面评论中的“L”。。。仍然不适用于“移动”实例,适用于顶级。。。如果我能得到一个明确的解决方案,那就太好了。“L”在这里没有任何意义,因为它是指向同一台服务器的内部重定向,指向同一个htaccess,它将继续,直到没有人重写规则为止。我更新了我的原始答案-查看重写调用堆栈-您将在这个规则中看到这个问题。它就在那里:
RewriteCond%{REQUEST_FILENAME}-f RewriteRule^-[L]
,并且已经起作用了。。。谢谢,tho!不可以。这个重写只适用于RewriteRule^-[L]。
RewriteCond%{REQUEST_FILENAME}-f RewriteRule^-[L]RewriteRule^([^/]+)/([^/]+)$/index.php?page=$1&subject=$2[QSA]RewriteRule^([^/]+)$/index.php?page=$1[QSA,L]
这是有效的…我正在寻找一个有基本名称的不同类型的实例的答案,像“mobile”一样,请注意上面评论中的“L”。。。仍然不适用于“移动”实例,适用于顶级。。。如果我能得到一个明确的解决方案,那就太好了。“L”在这里没有任何意义,因为它是指向同一台服务器的内部重定向,指向同一个htaccess,它将继续,直到没有人重写规则为止。我更新了我的原始答案-查看重写调用堆栈-您将在这个规则中看到这个问题。
RewriteRule ^([^/]+)$ /index.php?page=$1 [QSA]